From 0e4e9aa0a7727819a0b5b240617f8f4243c4c80f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 1 Jan 2025 22:52:51 +1030 Subject: objdump sym memory leak The sym array should be freed even with a symcount of zero. * objdump.c (dump_bfd): Free syms before replacing with extra_syms. Free extra_syms after adding to syms. --- binutils/objdump.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'binutils/objdump.c') diff --git a/binutils/objdump.c b/binutils/objdump.c index 478086a..ecbe39e 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -5730,6 +5730,7 @@ dump_bfd (bfd *abfd, bool is_mainfile) { if (old_symcount == 0) { + free (syms); syms = extra_syms; } else @@ -5739,6 +5740,7 @@ dump_bfd (bfd *abfd, bool is_mainfile) memcpy (syms + old_symcount, extra_syms, (symcount + 1) * sizeof (asymbol *)); + free (extra_syms); } } -- cgit v1.1