[PATCH] fixup! sandbox: implement actual sandbox reset via exec(2)
Ahmad Fatoum
ahmad at a3f.at
Tue Sep 15 01:21:43 EDT 2020
add_image modifies the argument passed to it, we want to reexec with
the original argv however, thus make a copy of the argument.
---
arch/sandbox/os/common.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/sandbox/os/common.c b/arch/sandbox/os/common.c
index 778ac3d6e60f..d0addef5af49 100644
--- a/arch/sandbox/os/common.c
+++ b/arch/sandbox/os/common.c
@@ -247,10 +247,10 @@ extern void mem_malloc_init(void *start, void *end);
extern char * strsep_unescaped(char **s, const char *ct);
-static int add_image(char *str, char *devname_template, int *devname_number)
+static int add_image(const char *_str, char *devname_template, int *devname_number)
{
struct hf_info *hf = malloc(sizeof(struct hf_info));
- char *filename, *devname;
+ char *str, *filename, *devname;
char tmp[16];
int readonly = 0, cdev = 0, blkdev = 0;
struct stat s;
@@ -260,6 +260,8 @@ static int add_image(char *str, char *devname_template, int *devname_number)
if (!hf)
return -1;
+ str = strdup(_str);
+
filename = strsep_unescaped(&str, ",");
while ((opt = strsep_unescaped(&str, ","))) {
if (!strcmp(opt, "ro"))
--
2.28.0
More information about the barebox
mailing list