From: Tom Tromey Date: Tue, 6 Feb 2018 19:54:44 +0000 (-0700) Subject: Use unique_xmalloc_ptr in build_id_to_debug_bfd X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=58ef3771fbbdf7fd891fceefdd4bf2720c6c1ee7;p=binutils-gdb.git Use unique_xmalloc_ptr in build_id_to_debug_bfd This changes build_id_to_debug_bfd to use a unique_xmalloc_ptr, removing a cleanup. 2018-02-08 Tom Tromey * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1e16a1c8c7a..d270de161ca 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2018-02-08 Tom Tromey + + * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr. + 2018-02-08 Tom Tromey * source.c (find_source_lines): Use gdb::def_vector. diff --git a/gdb/build-id.c b/gdb/build-id.c index 945da4f3cfb..685a2b0370c 100644 --- a/gdb/build-id.c +++ b/gdb/build-id.c @@ -95,8 +95,6 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id) const gdb_byte *data = build_id; size_t size = build_id_len; char *s; - char *filename = NULL; - struct cleanup *inner; memcpy (link, debugdir, debugdir_len); s = &link[debugdir_len]; @@ -116,16 +114,15 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id) printf_unfiltered (_(" Trying %s\n"), link); /* lrealpath() is expensive even for the usually non-existent files. */ + gdb::unique_xmalloc_ptr filename; if (access (link, F_OK) == 0) - filename = lrealpath (link); + filename.reset (lrealpath (link)); if (filename == NULL) continue; /* We expect to be silent on the non-existing files. */ - inner = make_cleanup (xfree, filename); - abfd = gdb_bfd_open (filename, gnutarget, -1); - do_cleanups (inner); + abfd = gdb_bfd_open (filename.get (), gnutarget, -1); if (abfd == NULL) continue;