memory leak in objdump disassemble_section

Message ID ZcN0EXQQ9Ie5YyAh@squeak.grove.modra.org
State Accepted
Headers
Series memory leak in objdump disassemble_section |

Checks

Context Check Description
snail/binutils-gdb-check success Github commit url

Commit Message

Alan Modra Feb. 7, 2024, 12:14 p.m. UTC
  * objdump.c (disassemble_section): Free rel_ppstart on error path.
  

Patch

diff --git a/binutils/objdump.c b/binutils/objdump.c
index 49e944b1dfd..7beb221cb2f 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -3795,6 +3795,7 @@  disassemble_section (bfd *abfd, asection *section, void *inf)
     {
       non_fatal (_("Reading section %s failed because: %s"),
 		 section->name, bfd_errmsg (bfd_get_error ()));
+      free (rel_ppstart);
       return;
     }
 
@@ -4075,9 +4076,7 @@  disassemble_section (bfd *abfd, asection *section, void *inf)
     }
 
   free (data);
-
-  if (rel_ppstart != NULL)
-    free (rel_ppstart);
+  free (rel_ppstart);
 }
 
 /* Disassemble the contents of an object file.  */