aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash_test/ash-misc/eval2.right3
-rwxr-xr-xshell/ash_test/ash-misc/eval2.tests4
-rw-r--r--shell/hush.c2
-rw-r--r--shell/hush_test/hush-misc/eval2.right3
-rwxr-xr-xshell/hush_test/hush-misc/eval2.tests4
5 files changed, 15 insertions, 1 deletions
diff --git a/shell/ash_test/ash-misc/eval2.right b/shell/ash_test/ash-misc/eval2.right
new file mode 100644
index 000000000..a7ce6ccc7
--- /dev/null
+++ b/shell/ash_test/ash-misc/eval2.right
@@ -0,0 +1,3 @@
1Zero:0
2Zero:0
3Zero:0
diff --git a/shell/ash_test/ash-misc/eval2.tests b/shell/ash_test/ash-misc/eval2.tests
new file mode 100755
index 000000000..6bfb87aa7
--- /dev/null
+++ b/shell/ash_test/ash-misc/eval2.tests
@@ -0,0 +1,4 @@
1false; eval; echo Zero:$?
2false; eval ""; echo Zero:$?
3false; eval "
4"; echo Zero:$?
diff --git a/shell/hush.c b/shell/hush.c
index 5698de686..d7d152c10 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -5679,7 +5679,7 @@ static char* expand_strvec_to_string(char **argv)
5679 n++; 5679 n++;
5680 } 5680 }
5681 } 5681 }
5682 overlapping_strcpy((char*)list, list[0]); 5682 overlapping_strcpy((char*)list, list[0] ? list[0] : "");
5683 debug_printf_expand("strvec_to_string='%s'\n", (char*)list); 5683 debug_printf_expand("strvec_to_string='%s'\n", (char*)list);
5684 return (char*)list; 5684 return (char*)list;
5685} 5685}
diff --git a/shell/hush_test/hush-misc/eval2.right b/shell/hush_test/hush-misc/eval2.right
new file mode 100644
index 000000000..a7ce6ccc7
--- /dev/null
+++ b/shell/hush_test/hush-misc/eval2.right
@@ -0,0 +1,3 @@
1Zero:0
2Zero:0
3Zero:0
diff --git a/shell/hush_test/hush-misc/eval2.tests b/shell/hush_test/hush-misc/eval2.tests
new file mode 100755
index 000000000..6bfb87aa7
--- /dev/null
+++ b/shell/hush_test/hush-misc/eval2.tests
@@ -0,0 +1,4 @@
1false; eval; echo Zero:$?
2false; eval ""; echo Zero:$?
3false; eval "
4"; echo Zero:$?