ash: fix NOEXEC mode - we were forgetting to pass environment!

env: promote to NOEXEC
hd: promote to NOEXEC, as hexdump is NOEXEC already
This commit is contained in:
Denis Vlasenko
2008-10-20 08:15:51 +00:00
parent d1660cb9ad
commit b730474bda
5 changed files with 14 additions and 6 deletions

View File

@@ -7008,8 +7008,11 @@ tryexec(USE_FEATURE_SH_STANDALONE(int applet_no,) char *cmd, char **argv, char *
#if ENABLE_FEATURE_SH_STANDALONE
if (applet_no >= 0) {
if (APPLET_IS_NOEXEC(applet_no))
if (APPLET_IS_NOEXEC(applet_no)) {
while (*envp)
putenv(*envp++);
run_applet_no_and_exit(applet_no, argv);
}
/* re-exec ourselves with the new arguments */
execve(bb_busybox_exec_path, argv, envp);
/* If they called chroot or otherwise made the binary no longer
@@ -12094,7 +12097,7 @@ exportcmd(int argc UNUSED_PARAM, char **argv)
char *name;
const char *p;
char **aptr;
int flag = argv[0][0] == 'r'? VREADONLY : VEXPORT;
int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
if (nextopt("p") != 'p') {
aptr = argptr;

View File

@@ -0,0 +1,2 @@
VAR7=VAL
0

View File

@@ -0,0 +1,3 @@
export VAR7=VAL
env | grep ^VAR7=
echo $?