From: Andrew Burgess Date: Thu, 28 Jan 2021 17:17:08 +0000 (+0000) Subject: sim/rx: fix an issue where we try to modify a const string X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=93a01471f3df559fffc567247288b3301620c4d7;p=binutils-gdb.git sim/rx: fix an issue where we try to modify a const string While experimenting with switching on warnings for the rx simulator I discovered this bug. In sim_do_command we get passed a 'const char *' argument. We create a copy of this string to work with locally, but then while processing this we accidentally switch back to reference the original string. sim/rx/ChangeLog: * gdb-if.c (sim_do_command): Work with a copy of the command. --- diff --git a/sim/rx/ChangeLog b/sim/rx/ChangeLog index f0640395822..8d5f1d745e6 100644 --- a/sim/rx/ChangeLog +++ b/sim/rx/ChangeLog @@ -1,3 +1,7 @@ +2021-02-08 Andrew Burgess + + * gdb-if.c (sim_do_command): Work with a copy of the command. + 2021-02-08 Andrew Burgess * gdb-if.c (sim_memory_map): New function. diff --git a/sim/rx/gdb-if.c b/sim/rx/gdb-if.c index 6f8bfbd1c50..55eb13d12ef 100644 --- a/sim/rx/gdb-if.c +++ b/sim/rx/gdb-if.c @@ -804,13 +804,13 @@ sim_do_command (SIM_DESC sd, const char *cmd) p++; /* Find the extent of the command word. */ - for (p = cmd; *p; p++) + for (; *p != '\0'; p++) if (isspace (*p)) break; /* Null-terminate the command word, and record the start of any further arguments. */ - if (*p) + if (*p != '\0') { *p = '\0'; args = p + 1;