output_section_statement leak
Alan Modra
amodra@gmail.com
Thu Jan 16 22:01:31 GMT 2025
This frees output_section_statement data, which is currently only used
by elf targets but doing so for all targets is simpler and more
future proof than adding ths to ldelf_finish. (Doing it there
requires moving the function to ldelfgen.c.)
* ldemul.c (finish_default): Free os->data.
diff --git a/ld/ldemul.c b/ld/ldemul.c
index ce243143f8e..0f3cb1a0125 100644
--- a/ld/ldemul.c
+++ b/ld/ldemul.c
@@ -299,6 +299,12 @@ before_allocation_default (void)
void
finish_default (void)
{
+ lang_output_section_statement_type *os;
+ for (os = (void *) lang_os_list.head; os != NULL; os = os->next)
+ {
+ free (os->data);
+ os->data = NULL;
+ }
if (!bfd_link_relocatable (&link_info))
_bfd_fix_excluded_sec_syms (link_info.output_bfd, &link_info);
}
--
Alan Modra
More information about the Binutils
mailing list