From da3202a857632b162eb6608ece2f4b48611a234e Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Mon, 8 Oct 2012 18:51:10 +0200 Subject: [PATCH] lto.c (lto_wpa_write_files, [...]): Free lto_file struct after closing the file. 2012-10-08 Tobias Burnus * lto.c (lto_wpa_write_files, read_cgraph_and_symbols): Free lto_file struct after closing the file. From-SVN: r192216 --- gcc/lto/ChangeLog | 5 +++++ gcc/lto/lto.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 3fc713616ed..d9849b47698 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +2012-10-08 Tobias Burnus + + * lto.c (lto_wpa_write_files, read_cgraph_and_symbols): + Free lto_file struct after closing the file. + 2012-10-08 Jan Hubicka * lto/lto.c (remember_with_vars): Also fixup INTEGER_CST. diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 81d7fb3d2e0..2b9156aebba 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -2674,6 +2674,7 @@ lto_wpa_write_files (void) lto_set_current_out_file (NULL); lto_obj_file_close (file); + free (file); part->encoder = NULL; len = strlen (temp_filename); @@ -2690,6 +2691,7 @@ lto_wpa_write_files (void) fatal_error ("closing LTRANS output list %s: %m", ltrans_output_list); free_ltrans_partitions(); + free (temp_filename); timevar_pop (TV_WHOPR_WPA_IO); } @@ -2952,6 +2954,7 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames) if (!file_data) { lto_obj_file_close (current_lto_file); + free (current_lto_file); current_lto_file = NULL; break; } @@ -2959,6 +2962,7 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames) decl_data[last_file_ix++] = file_data; lto_obj_file_close (current_lto_file); + free (current_lto_file); current_lto_file = NULL; ggc_collect (); } -- 2.30.2