This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
readelf.c (process_version_sections): Free memory returned by get_data.
- From: Michael Snyder <msnyder at vmware dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Mon, 07 Mar 2011 17:02:46 -0800
- Subject: 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);