aboutsummaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-07-03 05:44:18 +0000
committerEric Andersen <andersen@codepoet.org>2002-07-03 05:44:18 +0000
commit796446718d6a90754b9217989c4fbb4070686142 (patch)
tree68f35075855dc08c3e4b9f2f3ce84ffcd61ea67e /init
parent8c4025e7082b2440bda844089e1aa2a3504ed6d7 (diff)
downloadbusybox-796446718d6a90754b9217989c4fbb4070686142.tar.gz
Fix from vodz so that complex init commands actually work
Diffstat (limited to 'init')
-rw-r--r--init/init.c4
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)
if (strpbrk(a->command, "~`!$^&*()=|\\{}[];\"'<>?") != NULL) {
cmd[0] = SHELL;
cmd[1] = "-c";
- strcpy(buf, "exec ");
- safe_strncpy(buf + sizeof("exec "), a->command,
- sizeof(buf) - sizeof("exec "));
+ snprintf(buf, sizeof(buf), "exec %s", a->command);
cmd[2] = buf;
cmd[3] = NULL;
} else {