PR 33858 Object Attributes v2 memory leaks
Alan Modra
amodra@gmail.com
Tue Feb 10 01:58:00 GMT 2026
It is possble for elf_object_p to hit errors after or during the loop
processing sections with bfd_section_from_shdr. That means we might
have some object attributes malloc'd. They need cleaning up in
elf_object_p because bfd_check_format_matches only handles tidying of
bfd_alloc memory.
* elfcode.h (elf_object_p): Free object attributes on failure.
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index d7c82f0797c..9e4ff80a02c 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -919,6 +919,11 @@ elf_object_p (bfd *abfd)
bfd_set_error (bfd_error_wrong_format);
got_no_match:
+ if (abfd->sections != NULL)
+ /* Unlike most early section processing, the object attribute v2
+ code uses bfd_malloc rather than bfd_alloc. Free memory
+ containing attributes. */
+ _bfd_elf_cleanup_object_attributes (abfd);
return NULL;
}
--
Alan Modra
More information about the Binutils
mailing list