This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[RFA] ieee.c, plug several memory leaks.
- From: Michael Snyder <msnyder at vmware dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Tue, 08 Mar 2011 13:07:46 -0800
- Subject: [RFA] ieee.c, plug several memory leaks.
OK?
2011-03-08 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* ieee.c (ieee_add_bb11): Plug memory leak.
(ieee_function_type): Ditto.
(ieee_class_baseclass): Ditto.
Index: ieee.c
===================================================================
RCS file: /cvs/src/src/binutils/ieee.c,v
retrieving revision 1.28
diff -u -p -r1.28 ieee.c
--- ieee.c 28 Feb 2011 18:32:51 -0000 1.28
+++ ieee.c 8 Mar 2011 21:05:01 -0000
@@ -5125,7 +5125,10 @@ ieee_add_bb11 (struct ieee_handle *info,
|| ! ieee_write_id (info, "")
|| ! ieee_write_number (info, 0)
|| ! ieee_write_id (info, "GNU objcopy"))
- return FALSE;
+ {
+ free (c);
+ return FALSE;
+ }
free (c);
}
@@ -5529,7 +5532,10 @@ ieee_function_type (void *p, int argcoun
|| ! ieee_write_number (info, 0)
|| ! ieee_write_number (info, retindx)
|| ! ieee_write_number (info, (bfd_vma) argcount + (varargs ? 1 : 0)))
- return FALSE;
+ {
+ free (args);
+ return FALSE;
+ }
if (argcount > 0)
{
for (i = 0; i < argcount; i++)
@@ -6235,7 +6241,10 @@ ieee_class_baseclass (void *p, bfd_vma b
|| ! ieee_write_id (info, fname)
|| ! ieee_write_number (info, bindx)
|| ! ieee_write_number (info, bitpos / 8))
- return FALSE;
+ {
+ free (fname);
+ return FALSE;
+ }
flags = 0;
}
@@ -6250,7 +6259,10 @@ ieee_class_baseclass (void *p, bfd_vma b
|| ! ieee_write_atn65 (info, nindx, bname)
|| ! ieee_write_asn (info, nindx, 0)
|| ! ieee_write_atn65 (info, nindx, fname))
- return FALSE;
+ {
+ free (fname);
+ return FALSE;
+ }
info->type_stack->type.classdef->pmisccount += 5;
free (fname);