aboutsummaryrefslogtreecommitdiff
path: root/miscutils
diff options
context:
space:
mode:
Diffstat (limited to 'miscutils')
-rw-r--r--miscutils/crontab.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/miscutils/crontab.c b/miscutils/crontab.c
index d442272f0..eb7c2059c 100644
--- a/miscutils/crontab.c
+++ b/miscutils/crontab.c
@@ -290,8 +290,7 @@ static void EditFile(const char *user, const char *file)
/*
* CHILD - change user and run editor
*/
- char *ptr;
- char visual[1024];
+ const char *ptr;
if (ChangeUser(user, 1) < 0)
exit(0);
@@ -299,10 +298,9 @@ static void EditFile(const char *user, const char *file)
if (ptr == NULL || strlen(ptr) > 256)
ptr = PATH_VI;
- snprintf(visual, sizeof(visual), "%s %s", ptr, file);
- execl(DEFAULT_SHELL, DEFAULT_SHELL, "-c", visual, NULL);
- perror("exec");
- exit(0);
+ ptr = xasprintf("%s %s", ptr, file);
+ execl(DEFAULT_SHELL, DEFAULT_SHELL, "-c", ptr, NULL);
+ bb_perror_msg_and_die("exec");
}
if (pid < 0) {
/*