From 40f235b5f00009ea35fcd8fae08566e65a864a46 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 15 Feb 2021 11:28:19 +0100 Subject: [PATCH] Fix 2 more leaks related to gen_command_line_string. gcc/ChangeLog: * toplev.c (init_asm_output): Free output of gen_command_line_string function. (process_options): Likewise. --- gcc/toplev.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/toplev.c b/gcc/toplev.c index 05bd449eafc..d8cc254adef 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -748,9 +748,10 @@ init_asm_output (const char *name) print_version (asm_out_file, ASM_COMMENT_START, true); fputs (ASM_COMMENT_START, asm_out_file); fputs (" options passed: ", asm_out_file); - fputs (gen_command_line_string (save_decoded_options, - save_decoded_options_count), - asm_out_file); + char *cmdline = gen_command_line_string (save_decoded_options, + save_decoded_options_count); + fputs (cmdline, asm_out_file); + free (cmdline); fputc ('\n', asm_out_file); } } @@ -1384,8 +1385,11 @@ process_options (void) if (!quiet_flag) { fputs ("options passed: ", stderr); - fputs (gen_command_line_string (save_decoded_options, - save_decoded_options_count), stderr); + char *cmdline = gen_command_line_string (save_decoded_options, + save_decoded_options_count); + + fputs (cmdline, stderr); + free (cmdline); fputc ('\n', stderr); } } -- 2.30.2