summaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorMike Frysinger2009-10-18 01:11:45 -0400
committerMike Frysinger2009-10-18 01:15:36 -0400
commit28736c36ca6a73864324296117ce26c9a23066dd (patch)
tree932f02ded50c8df7db9a7eea3063c2ed6c841fc1 /shell/hush_test
parent69d9edc6f8387ed0ec4742a5de895b22b3910818 (diff)
downloadbusybox-28736c36ca6a73864324296117ce26c9a23066dd.zip
busybox-28736c36ca6a73864324296117ce26c9a23066dd.tar.gz
hush: handle empty execs
Sometimes variable expansions yield empty strings, and if they happen to be a command someone wants to run like `$foo`, then hush currently segfaults. So handle `` and $(). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'shell/hush_test')
-rw-r--r--shell/hush_test/hush-psubst/emptytick.right14
-rwxr-xr-xshell/hush_test/hush-psubst/emptytick.tests16
2 files changed, 30 insertions, 0 deletions
diff --git a/shell/hush_test/hush-psubst/emptytick.right b/shell/hush_test/hush-psubst/emptytick.right
new file mode 100644
index 0000000..d4b70c5
--- /dev/null
+++ b/shell/hush_test/hush-psubst/emptytick.right
@@ -0,0 +1,14 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/shell/hush_test/hush-psubst/emptytick.tests b/shell/hush_test/hush-psubst/emptytick.tests
new file mode 100755
index 0000000..af3a183
--- /dev/null
+++ b/shell/hush_test/hush-psubst/emptytick.tests
@@ -0,0 +1,16 @@
+true; ``; echo $?
+false; ``; echo $?
+true; `""`; echo $?
+false; `""`; echo $?
+true; ` `; echo $?
+false; ` `; echo $?
+
+true; $(); echo $?
+false; $(); echo $?
+true; $(""); echo $?
+false; $(""); echo $?
+true; $( ); echo $?
+false; $( ); echo $?
+
+true; exec ''; echo $?
+false; exec ''; echo $?