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]

readelf.c (process_version_sections): Free memory returned by get_data.


OK?

2011-03-07  Michael Snyder  <msnyder@vmware.com>

	* readelf.c (process_version_sections): Free memory returned by 
	get_data.

Index: readelf.c
===================================================================
RCS file: /cvs/src/src/binutils/readelf.c,v
retrieving revision 1.534
diff -u -p -r1.534 readelf.c
--- readelf.c	1 Mar 2011 00:02:32 -0000	1.534
+++ readelf.c	8 Mar 2011 00:59:06 -0000
@@ -8194,6 +8198,7 @@ process_version_sections (FILE * file)
 			  Elf_Internal_Verdef ivd;
 			  Elf_External_Verdef evd;
 			  unsigned long offset;
+			  void *tmp;
 
 			  offset = offset_from_vma
 			    (file, version_info[DT_VERSIONTAGIDX (DT_VERDEF)],
@@ -8201,8 +8206,10 @@ process_version_sections (FILE * file)
 
 			  do
 			    {
-			      get_data (&evd, file, offset, sizeof (evd), 1,
-					_("version def"));
+			      tmp = get_data (&evd, file, offset,
+					      sizeof (evd), 1,
+					      _("version def"));
+			      free (tmp);
 
 			      ivd.vd_next = BYTE_GET (evd.vd_next);
 			      ivd.vd_ndx  = BYTE_GET (evd.vd_ndx);
@@ -8219,10 +8226,11 @@ process_version_sections (FILE * file)
 
 			      ivd.vd_aux = BYTE_GET (evd.vd_aux);
 
-			      get_data (&evda, file,
-					offset - ivd.vd_next + ivd.vd_aux,
-					sizeof (evda), 1,
-					_("version def aux"));
+			      tmp = get_data (&evda, file,
+					      offset - ivd.vd_next + ivd.vd_aux,
+					      sizeof (evda), 1,
+					      _("version def aux"));
+			      free (tmp);
 
 			      ivda.vda_name = BYTE_GET (evda.vda_name);
 

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