fix in solib-aix.c

solib_aix_bfd_open has an early "return" that doesn't run cleanups.
This fixes the problem by dropping the null_cleanup and using a later
cleanup as the master cleanup for the function.

	* solib-aix.c (solib_aix_bfd_open): Don't use a null cleanup
	for 'cleanup'; instead use a later one.
This commit is contained in:
Tom Tromey 2013-05-30 17:31:00 +00:00
parent f330038710
commit e35ac9bf5c
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2013-05-30 Tom Tromey <tromey@redhat.com>
* solib-aix.c (solib_aix_bfd_open): Don't use a null cleanup
for 'cleanup'; instead use a later one.
2013-05-30 Tom Tromey <tromey@redhat.com>
* python/py-breakpoint.c (bppy_get_commands): Use

View File

@ -647,7 +647,7 @@ solib_aix_bfd_open (char *pathname)
int filename_len;
char *member_name;
bfd *archive_bfd, *object_bfd;
struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
struct cleanup *cleanup;
if (pathname[path_len - 1] != ')')
return solib_bfd_open (pathname);
@ -665,7 +665,7 @@ solib_aix_bfd_open (char *pathname)
filename_len = sep - pathname;
filename = xstrprintf ("%.*s", filename_len, pathname);
make_cleanup (xfree, filename);
cleanup = make_cleanup (xfree, filename);
member_name = xstrprintf ("%.*s", path_len - filename_len - 2, sep + 1);
make_cleanup (xfree, member_name);