aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2017-07-07 19:08:56 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2017-07-07 19:08:56 +0200
commit69a5ec9dccfd183cdf6bee7b994336670755cd47 (patch)
treef6fa85ffa67173d5d78a64836b47accab94fc36b /shell
parentb0c0b6d5ba4b15069a1e4ce6750c0ef2e93579e1 (diff)
downloadbusybox-69a5ec9dccfd183cdf6bee7b994336670755cd47.tar.gz
main: fix the case where user has "halt" as login shell. Closes 9986
halt::0:0::/:/sbin/halt function old new delta run_applet_and_exit 748 751 +3 run_applet_no_and_exit 467 459 -8 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c2
-rw-r--r--shell/hush.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/shell/ash.c b/shell/ash.c
index b7635a823..8c2098dd9 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -7717,7 +7717,7 @@ tryexec(IF_FEATURE_SH_STANDALONE(int applet_no,) char *cmd, char **argv, char **
clearenv();
while (*envp)
putenv(*envp++);
- run_applet_no_and_exit(applet_no, argv);
+ run_applet_no_and_exit(applet_no, cmd, argv);
}
/* re-exec ourselves with the new arguments */
execve(bb_busybox_exec_path, argv, envp);
diff --git a/shell/hush.c b/shell/hush.c
index 4ba6b3fdd..cf6d8cd9f 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -7063,7 +7063,7 @@ static NOINLINE void pseudo_exec_argv(nommu_save_t *nommu_save,
/* Do not leak open fds from opened script files etc */
close_all_FILE_list();
debug_printf_exec("running applet '%s'\n", argv[0]);
- run_applet_no_and_exit(a, argv);
+ run_applet_no_and_exit(a, argv[0], argv);
}
# endif
/* Re-exec ourselves */