From 668eb2f045ea535976cf484355831a8808b5ff35 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 27 May 2018 09:31:26 -0600 Subject: [PATCH] Use unique_xmalloc_ptr in darwin_current_sos This changes darwin_current_sos to use unique_xmalloc_ptr rather than a cleanup. gdb/ChangeLog 2018-06-18 Tom Tromey * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr. --- gdb/ChangeLog | 4 ++++ gdb/solib-darwin.c | 13 ++++--------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9c83a4a2619..c6112d23e86 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2018-06-18 Tom Tromey + + * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr. + 2018-06-18 Tom Tromey * solib-frv.c (frv_relocate_main_executable): Use diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c index e655110d2d5..ed8e0c13365 100644 --- a/gdb/solib-darwin.c +++ b/gdb/solib-darwin.c @@ -263,8 +263,6 @@ darwin_current_sos (void) unsigned long hdr_val; gdb::unique_xmalloc_ptr file_path; int errcode; - struct so_list *newobj; - struct cleanup *old_chain; /* Read image info from inferior. */ if (target_read_memory (iinfo, buf, image_info_size)) @@ -293,8 +291,7 @@ darwin_current_sos (void) break; /* Create and fill the new so_list element. */ - newobj = XCNEW (struct so_list); - old_chain = make_cleanup (xfree, newobj); + gdb::unique_xmalloc_ptr newobj (XCNEW (struct so_list)); lm_info_darwin *li = new lm_info_darwin; newobj->lm_info = li; @@ -305,12 +302,10 @@ darwin_current_sos (void) li->lm_addr = load_addr; if (head == NULL) - head = newobj; + head = newobj.get (); else - tail->next = newobj; - tail = newobj; - - discard_cleanups (old_chain); + tail->next = newobj.get (); + tail = newobj.release (); } return head; -- 2.30.2