diff options
-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 { |