This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[RFA] ar.c (delete_members): Plug memory leak.
- From: Michael Snyder <msnyder at vmware dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Tue, 08 Mar 2011 12:37:54 -0800
- Subject: [RFA] ar.c (delete_members): Plug memory leak.
OK?
2011-03-08 Michael Snyder <msnyder@vmware.com>
* ar.c (delete_members): Plug memory leak.
Index: ar.c
===================================================================
RCS file: /cvs/src/src/binutils/ar.c,v
retrieving revision 1.72
diff -u -p -r1.72 ar.c
--- ar.c 8 Dec 2010 05:05:30 -0000 1.72
+++ ar.c 8 Mar 2011 20:35:36 -0000
@@ -1117,6 +1121,7 @@ delete_members (bfd *arch, char **files_
bfd_boolean found;
bfd_boolean something_changed = FALSE;
int match_count;
+ char *tmp = NULL;
for (; *files_to_delete != NULL; ++files_to_delete)
{
@@ -1138,8 +1143,9 @@ delete_members (bfd *arch, char **files_
current_ptr_ptr = &(arch->archive_next);
while (*current_ptr_ptr)
{
- if (FILENAME_CMP (normalize (*files_to_delete, arch),
- (*current_ptr_ptr)->filename) == 0)
+ free (tmp);
+ tmp = normalize (*files_to_delete, arch);
+ if (FILENAME_CMP (tmp, (*current_ptr_ptr)->filename) == 0)
{
++match_count;
if (counted_name_mode
@@ -1176,6 +1182,7 @@ delete_members (bfd *arch, char **files_
write_archive (arch);
else
output_filename = NULL;
+ free (tmp);
}