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-w32-69a5ec9dccfd183cdf6bee7b994336670755cd47.tar.gz
busybox-w32-69a5ec9dccfd183cdf6bee7b994336670755cd47.tar.bz2
busybox-w32-69a5ec9dccfd183cdf6bee7b994336670755cd47.zip
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 **
7717 clearenv(); 7717 clearenv();
7718 while (*envp) 7718 while (*envp)
7719 putenv(*envp++); 7719 putenv(*envp++);
7720 run_applet_no_and_exit(applet_no, argv); 7720 run_applet_no_and_exit(applet_no, cmd, argv);
7721 } 7721 }
7722 /* re-exec ourselves with the new arguments */ 7722 /* re-exec ourselves with the new arguments */
7723 execve(bb_busybox_exec_path, argv, envp); 7723 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,
7063 /* Do not leak open fds from opened script files etc */ 7063 /* Do not leak open fds from opened script files etc */
7064 close_all_FILE_list(); 7064 close_all_FILE_list();
7065 debug_printf_exec("running applet '%s'\n", argv[0]); 7065 debug_printf_exec("running applet '%s'\n", argv[0]);
7066 run_applet_no_and_exit(a, argv); 7066 run_applet_no_and_exit(a, argv[0], argv);
7067 } 7067 }
7068# endif 7068# endif
7069 /* Re-exec ourselves */ 7069 /* Re-exec ourselves */