Fix BFD leak in solib-darwin.c

commit 192b62ce0b ("Use class to manage
BFD reference counts") changed darwin_get_dyld_bfd to use:

+	dyld_bfd.release ();

rather than

-      do_cleanups (cleanup);

However, using release here leaks the BFD.  Instead, simply assigning
"sub" to "dyld_bfd" achieves what was meant.

gdb/ChangeLog
2019-02-25  Tom Tromey  <tromey@adacore.com>

	* solib-darwin.c (darwin_get_dyld_bfd): Don't release dyld_bfd.
This commit is contained in:
Tom Tromey 2019-02-21 10:40:49 -07:00
parent 39f0547e55
commit cd5a152ceb
2 changed files with 5 additions and 4 deletions

View File

@ -1,3 +1,7 @@
2019-02-25 Tom Tromey <tromey@adacore.com>
* solib-darwin.c (darwin_get_dyld_bfd): Don't release dyld_bfd.
2019-02-23 Sergio Durigan Junior <sergiodj@redhat.com>
* gcore.in: Add '--readnever' option when invoking GDB.

View File

@ -452,10 +452,7 @@ darwin_get_dyld_bfd ()
gdb_bfd_ref_ptr sub
(gdb_bfd_mach_o_fat_extract (dyld_bfd.get (), bfd_object,
gdbarch_bfd_arch_info (target_gdbarch ())));
if (sub != NULL)
dyld_bfd = sub;
else
dyld_bfd.release ();
dyld_bfd = sub;
}
return dyld_bfd;
}