PR26069, strip/objcopy memory leaks

Alan Modra amodra@gmail.com
Wed Jun 3 08:39:43 GMT 2020


	PR 26029
	* elf.c (_bfd_elf_close_and_cleanup): Free elf_shstrtab for
	core files as well as objects.

diff --git a/bfd/elf.c b/bfd/elf.c
index e335ff7efb..9ca42e10d8 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9438,7 +9438,9 @@ bfd_boolean
 _bfd_elf_close_and_cleanup (bfd *abfd)
 {
   struct elf_obj_tdata *tdata = elf_tdata (abfd);
-  if (bfd_get_format (abfd) == bfd_object && tdata != NULL)
+  if (tdata != NULL
+      && (bfd_get_format (abfd) == bfd_object
+	  || bfd_get_format (abfd) == bfd_core))
     {
       if (elf_tdata (abfd)->o != NULL && elf_shstrtab (abfd) != NULL)
 	_bfd_elf_strtab_free (elf_shstrtab (abfd));

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list