summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenys Vlasenko2017-07-26 13:42:53 +0200
committerDenys Vlasenko2017-07-26 13:42:53 +0200
commitb31b61bb9bff8a920b7e25b83e3aa08f7c907331 (patch)
tree6a4bbc0e30e933d709cedbf2f3d5969675c3dfbb /shell
parentb0648b0e7874e8551df64708532346a049ab7f2c (diff)
downloadbusybox-b31b61bb9bff8a920b7e25b83e3aa08f7c907331.zip
busybox-b31b61bb9bff8a920b7e25b83e3aa08f7c907331.tar.gz
ash: fix redir_leak.tests if STANDALONE=y
If STANDALONE and we run a NOEXEC applet, saved copies of redirected fds were visible for the child. They have CLOEXEC bit, yes, but we do not exec in this case. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/shell/ash.c b/shell/ash.c
index c96ec93..524580e 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -7698,6 +7698,7 @@ tryexec(IF_FEATURE_SH_STANDALONE(int applet_no,) char *cmd, char **argv, char **
clearenv();
while (*envp)
putenv(*envp++);
+ popredir(/*drop:*/ 1, /*restore:*/ 0);
run_applet_no_and_exit(applet_no, cmd, argv);
}
/* re-exec ourselves with the new arguments */