From 58ef3771fbbdf7fd891fceefdd4bf2720c6c1ee7 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 6 Feb 2018 12:54:44 -0700 Subject: 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. --- gdb/build-id.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'gdb/build-id.c') diff --git a/gdb/build-id.c b/gdb/build-id.c index 945da4f..685a2b0 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; -- cgit v1.1