summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-10-09 13:21:44 +1030
committerAlan Modra <amodra@gmail.com>2017-10-09 13:23:00 +1030
commitb55ec8b676ed05d93ee49d6c79ae0403616c4fb0 (patch)
tree5ccca714ff3f7f257f9e9db29de21d6ab29d571e
parenta72f95f7760bf85693af393c5e01dd3aedbe5bde (diff)
downloadbinutils-gdb-b55ec8b676ed05d93ee49d6c79ae0403616c4fb0.tar.gz
PR22212, memory leak in nm
PR 22212 * dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free funcinfo_hash_table and varinfo_hash_table.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/dwarf2.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4cb07152937..c334e53307b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2017-10-09 Alan Modra <amodra@gmail.com>
+
+ PR 22212
+ * dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free
+ funcinfo_hash_table and varinfo_hash_table.
+
2017-10-08 H.J. Lu <hongjiu.lu@intel.com>
* elf32-sh.c (readonly_dynrelocs): Dump dynamic relocation
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 248e621ad33..ef380dd6823 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -4927,6 +4927,10 @@ _bfd_dwarf2_cleanup_debug_info (bfd *abfd, void **pinfo)
}
}
+ if (stash->funcinfo_hash_table)
+ bfd_hash_table_free (&stash->funcinfo_hash_table->base);
+ if (stash->varinfo_hash_table)
+ bfd_hash_table_free (&stash->varinfo_hash_table->base);
if (stash->dwarf_abbrev_buffer)
free (stash->dwarf_abbrev_buffer);
if (stash->dwarf_line_buffer)