aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--semihosting/config.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/semihosting/config.c b/semihosting/config.c
index 137171b717..50d82108e6 100644
--- a/semihosting/config.c
+++ b/semihosting/config.c
@@ -51,7 +51,7 @@ typedef struct SemihostingConfig {
bool enabled;
SemihostingTarget target;
Chardev *chardev;
- const char **argv;
+ char **argv;
int argc;
const char *cmdline; /* concatenated argv */
} SemihostingConfig;
@@ -98,8 +98,8 @@ static int add_semihosting_arg(void *opaque,
if (strcmp(name, "arg") == 0) {
s->argc++;
/* one extra element as g_strjoinv() expects NULL-terminated array */
- s->argv = g_realloc(s->argv, (s->argc + 1) * sizeof(void *));
- s->argv[s->argc - 1] = val;
+ s->argv = g_renew(char *, s->argv, s->argc + 1);
+ s->argv[s->argc - 1] = g_strdup(val);
s->argv[s->argc] = NULL;
}
return 0;