readelf memory leak in process_mips_specific
Alan Modra
amodra@gmail.com
Tue Mar 24 02:50:01 GMT 2020
* readelf.c (process_mips_specific): Free iconf on error path.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 61f0617683..1f0f49222f 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -17074,7 +17074,10 @@ process_mips_specific (Filedata * filedata)
get_data (NULL, filedata, conflicts_offset,
sizeof (*econf32), conflictsno, _("conflict"));
if (!econf32)
- return FALSE;
+ {
+ free (iconf);
+ return FALSE;
+ }
for (cnt = 0; cnt < conflictsno; ++cnt)
iconf[cnt] = BYTE_GET (econf32[cnt]);
@@ -17089,7 +17092,10 @@ process_mips_specific (Filedata * filedata)
get_data (NULL, filedata, conflicts_offset,
sizeof (*econf64), conflictsno, _("conflict"));
if (!econf64)
- return FALSE;
+ {
+ free (iconf);
+ return FALSE;
+ }
for (cnt = 0; cnt < conflictsno; ++cnt)
iconf[cnt] = BYTE_GET (econf64[cnt]);
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list