This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[committed, PATCH] Free memory returned from bfd_get_synthetic_symtab


	PR binutils/22203
	* nm.c (display_rel_file): Free memory returned from
	bfd_get_synthetic_symtab.
---
 binutils/ChangeLog | 6 ++++++
 binutils/nm.c      | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 037408440b..f7b8d7076c 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2017-09-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/22203
+	* nm.c (display_rel_file): Free memory returned from
+	bfd_get_synthetic_symtab.
+
 2017-09-22  Alexandre Oliva <aoliva@redhat.com>
 
 	* dwarf.h (debug_info): Add loc_views and num_loc_views.
diff --git a/binutils/nm.c b/binutils/nm.c
index 5e03a8ae92..3328812656 100644
--- a/binutils/nm.c
+++ b/binutils/nm.c
@@ -1094,6 +1094,7 @@ display_rel_file (bfd *abfd, bfd *archive_bfd)
   void *minisyms;
   unsigned int size;
   struct size_sym *symsizes;
+  asymbol *synthsyms = NULL;
 
   if (! dynamic)
     {
@@ -1124,7 +1125,6 @@ display_rel_file (bfd *abfd, bfd *archive_bfd)
 
   if (show_synthetic && size == sizeof (asymbol *))
     {
-      asymbol *synthsyms;
       asymbol **static_syms = NULL;
       asymbol **dyn_syms = NULL;
       long static_count = 0;
@@ -1201,6 +1201,8 @@ display_rel_file (bfd *abfd, bfd *archive_bfd)
   else
     print_size_symbols (abfd, dynamic, symsizes, symcount, archive_bfd);
 
+  if (synthsyms)
+    free (synthsyms);
   free (minisyms);
   free (symsizes);
 }
-- 
2.13.5


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]