2011-03-25 Michael Snyder <msnyder@vmware.com>
* strings.c (print_strings): Plug memory leak.
+ * ar.c (move_members): Plug memory leak.
2011-03-25 Pierre Muller <muller@ics.u-strasbg.fr>
static void
move_members (bfd *arch, char **files_to_move)
{
- bfd **after_bfd; /* New entries go after this one */
- bfd **current_ptr_ptr; /* cdr pointer into contents */
+ bfd **after_bfd; /* New entries go after this one. */
+ bfd **current_ptr_ptr; /* cdr pointer into contents. */
+ const char *tmp = NULL;
for (; *files_to_move; ++files_to_move)
{
while (*current_ptr_ptr)
{
bfd *current_ptr = *current_ptr_ptr;
- if (FILENAME_CMP (normalize (*files_to_move, arch),
- current_ptr->filename) == 0)
+
+ if (tmp != NULL)
+ free ((char *) tmp);
+ tmp = normalize (*files_to_move, arch);
+ if (FILENAME_CMP (tmp, current_ptr->filename) == 0)
{
/* Move this file to the end of the list - first cut from
where it is. */
/* xgettext:c-format */
fatal (_("no entry %s in archive %s!"), *files_to_move, arch->filename);
- next_file:;
+ next_file:
+ ;
}
write_archive (arch);
+ if (tmp != NULL)
+ free ((char *) tmp);
}
/* Ought to default to replacing in place, but this is existing practice! */