summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenis Vlasenko2008-10-20 07:52:33 +0000
committerDenis Vlasenko2008-10-20 07:52:33 +0000
commitd1660cb9ad3adb4b99c098de88f79cbeb74c3a5d (patch)
treecddc476b03fc1eb2eb95f16399b55348b306885e /shell
parent802a7be54ffcf6e45808d72e2562456bba564028 (diff)
downloadbusybox-d1660cb9ad3adb4b99c098de88f79cbeb74c3a5d.zip
busybox-d1660cb9ad3adb4b99c098de88f79cbeb74c3a5d.tar.gz
ash: fix a bug in standalone mode (corrupted getopt() state)
Diffstat (limited to 'shell')
-rw-r--r--shell/ash_test/ash-standalone/nofork_trashes_getopt.right1
-rwxr-xr-xshell/ash_test/ash-standalone/nofork_trashes_getopt.tests6
2 files changed, 7 insertions, 0 deletions
diff --git a/shell/ash_test/ash-standalone/nofork_trashes_getopt.right b/shell/ash_test/ash-standalone/nofork_trashes_getopt.right
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/shell/ash_test/ash-standalone/nofork_trashes_getopt.right
@@ -0,0 +1 @@
+0
diff --git a/shell/ash_test/ash-standalone/nofork_trashes_getopt.tests b/shell/ash_test/ash-standalone/nofork_trashes_getopt.tests
new file mode 100755
index 0000000..f42c507
--- /dev/null
+++ b/shell/ash_test/ash-standalone/nofork_trashes_getopt.tests
@@ -0,0 +1,6 @@
+# In this test, rm is NOFORK and it modifies getopt internal state
+rm -f non_existent_file
+# Subsequent hexdump is run as NOEXEC, and thus still uses this state
+hexdump </dev/null
+# Did hexdump segfault etc?
+echo $?