Line
Link Here
|
0 |
-- sandbox-1.9/src/sandbox.c |
0 |
++ sandbox-1.9/src/sandbox.c |
Lines 205-212
Link Here
|
205 |
char **sandbox_environ; |
205 |
char **sandbox_environ; |
206 |
char **argv_bash = NULL; |
206 |
char **argv_bash = NULL; |
207 |
|
207 |
|
208 |
char *run_str = "-c"; |
|
|
209 |
|
210 |
rc_log_domain(log_domain); |
208 |
rc_log_domain(log_domain); |
211 |
|
209 |
|
212 |
/* Only print info if called with no arguments .... */ |
210 |
/* Only print info if called with no arguments .... */ |
Lines 293-312
Link Here
|
293 |
if (argc >= 2) { |
291 |
if (argc >= 2) { |
294 |
int i; |
292 |
int i; |
295 |
|
293 |
|
296 |
str_list_add_item_copy(argv_bash, run_str, oom_error); |
294 |
str_list_add_item_copy(argv_bash, "-c", oom_error); |
297 |
str_list_add_item_copy(argv_bash, argv[1], oom_error); |
295 |
str_list_add_item_copy(argv_bash, "\"$@\"", oom_error); |
298 |
for (i = 2; i < argc; i++) { |
296 |
str_list_add_item_copy(argv_bash, "/bin/bash", oom_error); |
299 |
char *tmp_ptr; |
297 |
for (i = 1; i < argc; i++) { |
300 |
|
298 |
str_list_add_item_copy(argv_bash, argv[i], oom_error); |
301 |
tmp_ptr = xrealloc(argv_bash[4], |
|
|
302 |
(strlen(argv_bash[4]) + |
303 |
strlen(argv[i]) + 2) * |
304 |
sizeof(char)); |
305 |
argv_bash[4] = tmp_ptr; |
306 |
|
307 |
snprintf(argv_bash[4] + strlen(argv_bash[4]), |
308 |
strlen(argv[i]) + 2, " %s", |
309 |
argv[i]); |
310 |
} |
299 |
} |
311 |
} |
300 |
} |
312 |
|
301 |
|