|
@@ -113,12 +113,13 @@ static int add_semihosting_arg(void *opaque,
|
|
void semihosting_arg_fallback(const char *file, const char *cmd)
|
|
void semihosting_arg_fallback(const char *file, const char *cmd)
|
|
{
|
|
{
|
|
char *cmd_token;
|
|
char *cmd_token;
|
|
|
|
+ g_autofree char *cmd_dup = g_strdup(cmd);
|
|
|
|
|
|
/* argv[0] */
|
|
/* argv[0] */
|
|
add_semihosting_arg(&semihosting, "arg", file, NULL);
|
|
add_semihosting_arg(&semihosting, "arg", file, NULL);
|
|
|
|
|
|
/* split -append and initialize argv[1..n] */
|
|
/* split -append and initialize argv[1..n] */
|
|
- cmd_token = strtok(g_strdup(cmd), " ");
|
|
|
|
|
|
+ cmd_token = strtok(cmd_dup, " ");
|
|
while (cmd_token) {
|
|
while (cmd_token) {
|
|
add_semihosting_arg(&semihosting, "arg", cmd_token, NULL);
|
|
add_semihosting_arg(&semihosting, "arg", cmd_token, NULL);
|
|
cmd_token = strtok(NULL, " ");
|
|
cmd_token = strtok(NULL, " ");
|