From 67965ba2894566ea707510929d75733a4a254cd4 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 27 Jan 2021 10:39:22 +0000 Subject: Simplify the code at the end of objcopy's main() function. * objcopy.c (copy_main): Remove conditional control of the calls to free, simplifying the code and making it easier to detect typos. --- binutils/ChangeLog | 6 ++++++ binutils/objcopy.c | 33 +++++++++------------------------ 2 files changed, 15 insertions(+), 24 deletions(-) (limited to 'binutils') diff --git a/binutils/ChangeLog b/binutils/ChangeLog index fd9f4bd..712a9eb 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2021-01-27 Nick Clifton + + * objcopy.c (copy_main): Remove conditional control of the calls + to free, simplifying the code and making it easier to detect + typos. + 2021-01-26 Frederic Cambus * objcopy.c (copy_main): Fix a double free happening when both diff --git a/binutils/objcopy.c b/binutils/objcopy.c index a5cead1..39a1ccb 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -2793,8 +2793,7 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch) pe->timestamp = pe_data (ibfd)->coff.timestamp; } - if (isympp) - free (isympp); + free (isympp); if (osympp != isympp) free (osympp); @@ -4612,8 +4611,7 @@ mark_symbols_used_in_relocations (bfd *ibfd, sec_ptr isection, void *symbolsarg) (*relpp[i]->sym_ptr_ptr)->flags |= BSF_KEEP; } - if (relpp != NULL) - free (relpp); + free (relpp); } /* Write out debugging information. */ @@ -6008,26 +6006,13 @@ copy_main (int argc, char *argv[]) } } - if (strip_specific_buffer) - free (strip_specific_buffer); - - if (strip_unneeded_buffer) - free (strip_unneeded_buffer); - - if (keep_specific_buffer) - free (keep_specific_buffer); - - if (localize_specific_buffer) - free (localize_specific_buffer); - - if (globalize_specific_buffer) - free (globalize_specific_buffer); - - if (keepglobal_specific_buffer) - free (keepglobal_specific_buffer); - - if (weaken_specific_buffer) - free (weaken_specific_buffer); + free (strip_specific_buffer); + free (strip_unneeded_buffer); + free (keep_specific_buffer); + free (localize_specific_buffer); + free (globalize_specific_buffer); + free (keepglobal_specific_buffer); + free (weaken_specific_buffer); return 0; } -- cgit v1.1