From: John Baldwin Date: Tue, 9 Jan 2018 21:35:17 +0000 (-0800) Subject: Use gdb::unique_xmalloc_ptr<> instead of a deleter that invokes free(). X-Git-Tag: binutils-2_30~91 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=262f62f57d987269152412a55c458a03adc6ddd6;p=external%2Fbinutils.git Use gdb::unique_xmalloc_ptr<> instead of a deleter that invokes free(). Since xfree() always wraps free(), it is safe to use the xfree deleter for buffers allocated by library routines such as kinfo_getvmmap() that must be released via free(). gdb/ChangeLog: * fbsd-nat.c (struct free_deleter): Remove. (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3752a3b..a55b21f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2018-01-09 John Baldwin + * fbsd-nat.c (struct free_deleter): Remove. + (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>. + +2018-01-09 John Baldwin + * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return NULL for an empty pathname. diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c index d0aaf89..81f8e27 100644 --- a/gdb/fbsd-nat.c +++ b/gdb/fbsd-nat.c @@ -81,14 +81,6 @@ fbsd_pid_to_exec_file (struct target_ops *self, int pid) } #ifdef HAVE_KINFO_GETVMMAP -/* Deleter for std::unique_ptr that invokes free. */ - -template -struct free_deleter -{ - void operator() (T *ptr) const { free (ptr); } -}; - /* Iterate over all the memory regions in the current inferior, calling FUNC for each memory region. OBFD is passed as the last argument to FUNC. */ @@ -102,7 +94,7 @@ fbsd_find_memory_regions (struct target_ops *self, uint64_t size; int i, nitems; - std::unique_ptr> + gdb::unique_xmalloc_ptr vmentl (kinfo_getvmmap (pid, &nitems)); if (vmentl == NULL) perror_with_name (_("Couldn't fetch VM map entries."));