diff options
author | Mike Frysinger | 2009-10-18 01:11:45 -0400 |
---|---|---|
committer | Mike Frysinger | 2009-10-18 01:15:36 -0400 |
commit | 28736c36ca6a73864324296117ce26c9a23066dd (patch) | |
tree | 932f02ded50c8df7db9a7eea3063c2ed6c841fc1 /shell/hush_test | |
parent | 69d9edc6f8387ed0ec4742a5de895b22b3910818 (diff) | |
download | busybox-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.right | 14 | ||||
-rwxr-xr-x | shell/hush_test/hush-psubst/emptytick.tests | 16 |
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 $? |