diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-07-03 05:44:18 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-07-03 05:44:18 +0000 |
commit | 796446718d6a90754b9217989c4fbb4070686142 (patch) | |
tree | 68f35075855dc08c3e4b9f2f3ce84ffcd61ea67e | |
parent | 8c4025e7082b2440bda844089e1aa2a3504ed6d7 (diff) | |
download | busybox-w32-796446718d6a90754b9217989c4fbb4070686142.tar.gz busybox-w32-796446718d6a90754b9217989c4fbb4070686142.tar.bz2 busybox-w32-796446718d6a90754b9217989c4fbb4070686142.zip |
Fix from vodz so that complex init commands actually work
-rw-r--r-- | init/init.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/init/init.c b/init/init.c index e4812538d..8b68a0556 100644 --- a/init/init.c +++ b/init/init.c | |||
@@ -579,9 +579,7 @@ static pid_t run(struct init_action *a) | |||
579 | if (strpbrk(a->command, "~`!$^&*()=|\\{}[];\"'<>?") != NULL) { | 579 | if (strpbrk(a->command, "~`!$^&*()=|\\{}[];\"'<>?") != NULL) { |
580 | cmd[0] = SHELL; | 580 | cmd[0] = SHELL; |
581 | cmd[1] = "-c"; | 581 | cmd[1] = "-c"; |
582 | strcpy(buf, "exec "); | 582 | snprintf(buf, sizeof(buf), "exec %s", a->command); |
583 | safe_strncpy(buf + sizeof("exec "), a->command, | ||
584 | sizeof(buf) - sizeof("exec ")); | ||
585 | cmd[2] = buf; | 583 | cmd[2] = buf; |
586 | cmd[3] = NULL; | 584 | cmd[3] = NULL; |
587 | } else { | 585 | } else { |