mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
Do not cast away const in agent_run_command
While investigating something else, I noticed some weird code in agent_run_command (use of memcpy rather than strcpy). Then I noticed that 'cmd' is used as both an in and out parameter, despite being const. Casting away const like this is bad. This patch removes the const and fixes the memcpy. I also added a static assert to assure myself that the code in gdbserver is correct -- gdbserver is passing its own buffer directly to agent_run_command. Reviewed-By: Andrew Burgess <aburgess@redhat.com>
This commit is contained in:
@ -4114,9 +4114,7 @@ linux_nat_target::static_tracepoint_markers_by_strid (const char *strid)
|
||||
/* Pause all */
|
||||
target_stop (ptid);
|
||||
|
||||
memcpy (s, "qTfSTM", sizeof ("qTfSTM"));
|
||||
s[sizeof ("qTfSTM")] = 0;
|
||||
|
||||
strcpy (s, "qTfSTM");
|
||||
agent_run_command (pid, s, strlen (s) + 1);
|
||||
|
||||
/* Unpause all. */
|
||||
@ -4133,8 +4131,7 @@ linux_nat_target::static_tracepoint_markers_by_strid (const char *strid)
|
||||
}
|
||||
while (*p++ == ','); /* comma-separated list */
|
||||
|
||||
memcpy (s, "qTsSTM", sizeof ("qTsSTM"));
|
||||
s[sizeof ("qTsSTM")] = 0;
|
||||
strcpy (s, "qTsSTM");
|
||||
agent_run_command (pid, s, strlen (s) + 1);
|
||||
p = s;
|
||||
}
|
||||
|
Reference in New Issue
Block a user