From: Alan Modra Date: Tue, 10 Feb 2026 00:04:48 +0000 (+1030) Subject: PR 33858 Object Attributes v2 memory leaks X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b7fd9f36112a7710201fcd88868c36935a21c39;p=thirdparty%2Fbinutils-gdb.git PR 33858 Object Attributes v2 memory leaks 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; }