diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ef323e126c..38ce62f6b8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-03-06 Tom Tromey + + * remote.c (remote_target::remote_parse_stop_reply): Use + unique_xmalloc_ptr. + 2019-03-06 Tom Tromey * stabsread.c (struct stabs_field_info): Rename from field_info. diff --git a/gdb/remote.c b/gdb/remote.c index 7d556add0d..ef12fe9a3b 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 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