From: Tom Tromey Date: Thu, 21 Feb 2019 17:40:49 +0000 (-0700) Subject: Fix BFD leak in solib-darwin.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cd5a152cebb201e98f3dbeca510aa39e838a1f62;p=binutils-gdb.git Fix BFD leak in solib-darwin.c commit 192b62ce0b4bb5c61188f570e127a26d2c32f716 ("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 * solib-darwin.c (darwin_get_dyld_bfd): Don't release dyld_bfd. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9a5740210b3..118f17588a8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2019-02-25 Tom Tromey + + * solib-darwin.c (darwin_get_dyld_bfd): Don't release dyld_bfd. + 2019-02-23 Sergio Durigan Junior * gcore.in: Add '--readnever' option when invoking GDB. diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c index d3060604bad..b976b79091a 100644 --- a/gdb/solib-darwin.c +++ b/gdb/solib-darwin.c @@ -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; }