diff options
author | John Baldwin <jhb@FreeBSD.org> | 2019-02-25 14:25:01 -0800 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2019-02-25 14:25:01 -0800 |
commit | 0f58c9e88ebee636206b946b00ea52b47056b320 (patch) | |
tree | 11bb08dcbd981f5766b74029951e2d1cf573755a /gdb | |
parent | 0a0f4c0179106ee4b8e56649c549f4175ebba994 (diff) | |
download | gdb-0f58c9e88ebee636206b946b00ea52b47056b320.zip gdb-0f58c9e88ebee636206b946b00ea52b47056b320.tar.gz gdb-0f58c9e88ebee636206b946b00ea52b47056b320.tar.bz2 |
Fix BFD leak in dwarf2_get_dwz_file.
Previously if build_id_verify failed, dwz_bfd was cleared to NULL via
release(), but the BFD object was not destroyed. Use reset() with
nullptr instead to delete the BFD.
gdb/ChangeLog:
* dwarf2read.c (dwarf2_get_dwz_file): Reset dwz_bfd to nullptr
instead of releasing ownership.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c2340e6..879ad6a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-02-25 John Baldwin <jhb@FreeBSD.org> + + * dwarf2read.c (dwarf2_get_dwz_file): Reset dwz_bfd to nullptr + instead of releasing ownership. + 2019-02-25 Jordan Rupprecht <rupprecht@google.com> * dwarf2read.c (open_and_init_dwp_file): Call diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 2908a23..2d6cb35 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -2722,7 +2722,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile) if (dwz_bfd != NULL) { if (!build_id_verify (dwz_bfd.get (), buildid_len, buildid)) - dwz_bfd.release (); + dwz_bfd.reset (nullptr); } if (dwz_bfd == NULL) |