This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Use unique_xmalloc_ptr in remote.c


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c6321f19c5414c2a34db3cf5979834d081c32abd

commit c6321f19c5414c2a34db3cf5979834d081c32abd
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Feb 14 16:10:01 2019 -0700

    Use unique_xmalloc_ptr in remote.c
    
    This removes a cleanup from remote.c, replacing it with
    unique_xmalloc_ptr.
    
    2019-03-06  Tom Tromey  <tom@tromey.com>
    
    	* remote.c (remote_target::remote_parse_stop_reply): Use
    	unique_xmalloc_ptr.

Diff:
---
 gdb/ChangeLog | 5 +++++
 gdb/remote.c  | 9 ++++-----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index ef323e1..38ce62f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 2019-03-06  Tom Tromey  <tom@tromey.com>
 
+	* remote.c (remote_target::remote_parse_stop_reply): Use
+	unique_xmalloc_ptr.
+
+2019-03-06  Tom Tromey  <tom@tromey.com>
+
 	* stabsread.c (struct stabs_field_info): Rename from field_info.
 	<list, fnlist>: Add initializers.
 	<obstack>: New member.
diff --git a/gdb/remote.c b/gdb/remote.c
index 7d556ad..ef12fe9 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -7312,14 +7312,13 @@ Packet: '%s'\n"),
 
 	      /* Save the pathname for event reporting and for
 		 the next run command.  */
-	      char *pathname = (char *) xmalloc (pathlen + 1);
-	      struct cleanup *old_chain = make_cleanup (xfree, pathname);
-	      hex2bin (p1, (gdb_byte *) pathname, pathlen);
+	      gdb::unique_xmalloc_ptr<char[]> pathname
+		((char *) xmalloc (pathlen + 1));
+	      hex2bin (p1, (gdb_byte *) pathname.get (), pathlen);
 	      pathname[pathlen] = '\0';
-	      discard_cleanups (old_chain);
 
 	      /* This is freed during event handling.  */
-	      event->ws.value.execd_pathname = pathname;
+	      event->ws.value.execd_pathname = pathname.release ();
 	      event->ws.kind = TARGET_WAITKIND_EXECD;
 
 	      /* Skip the registers included in this packet, since


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]