* ar.c (delete_members): Plug memory leak.

This commit is contained in:
Nick Clifton 2011-03-25 17:17:03 +00:00
parent 6a6969108e
commit a1bc0327a3
2 changed files with 9 additions and 2 deletions

View File

@ -2,6 +2,7 @@
* strings.c (print_strings): Plug memory leak.
* ar.c (move_members): Plug memory leak.
(delete_members): Plug memory leak.
2011-03-25 Pierre Muller <muller@ics.u-strasbg.fr>

View File

@ -1118,6 +1118,7 @@ delete_members (bfd *arch, char **files_to_delete)
bfd_boolean found;
bfd_boolean something_changed = FALSE;
int match_count;
const char * tmp = NULL;
for (; *files_to_delete != NULL; ++files_to_delete)
{
@ -1139,8 +1140,10 @@ delete_members (bfd *arch, char **files_to_delete)
current_ptr_ptr = &(arch->archive_next);
while (*current_ptr_ptr)
{
if (FILENAME_CMP (normalize (*files_to_delete, arch),
(*current_ptr_ptr)->filename) == 0)
if (tmp != NULL)
free ((char *) tmp);
tmp = normalize (*files_to_delete, arch);
if (FILENAME_CMP (tmp, (*current_ptr_ptr)->filename) == 0)
{
++match_count;
if (counted_name_mode
@ -1177,6 +1180,9 @@ delete_members (bfd *arch, char **files_to_delete)
write_archive (arch);
else
output_filename = NULL;
if (tmp != NULL)
free ((char *) tmp);
}