aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash_test/ash-misc/empty_for1.right1
-rwxr-xr-xshell/ash_test/ash-misc/empty_for1.tests5
-rw-r--r--shell/hush.c2
-rw-r--r--shell/hush_test/hush-misc/empty_for1.right1
-rwxr-xr-xshell/hush_test/hush-misc/empty_for1.tests5
5 files changed, 13 insertions, 1 deletions
diff --git a/shell/ash_test/ash-misc/empty_for1.right b/shell/ash_test/ash-misc/empty_for1.right
new file mode 100644
index 000000000..46ffcece7
--- /dev/null
+++ b/shell/ash_test/ash-misc/empty_for1.right
@@ -0,0 +1 @@
Zero:0
diff --git a/shell/ash_test/ash-misc/empty_for1.tests b/shell/ash_test/ash-misc/empty_for1.tests
new file mode 100755
index 000000000..5a2554d54
--- /dev/null
+++ b/shell/ash_test/ash-misc/empty_for1.tests
@@ -0,0 +1,5 @@
1false
2for v; do
3 exit 2
4done
5echo Zero:$?
diff --git a/shell/hush.c b/shell/hush.c
index 14681aa48..d17f7f29e 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -9391,11 +9391,11 @@ static int run_list(struct pipe *pi)
9391 }; /* argv list with one element: "$@" */ 9391 }; /* argv list with one element: "$@" */
9392 char **vals; 9392 char **vals;
9393 9393
9394 G.last_exitcode = rcode = EXIT_SUCCESS;
9394 vals = (char**)encoded_dollar_at_argv; 9395 vals = (char**)encoded_dollar_at_argv;
9395 if (pi->next->res_word == RES_IN) { 9396 if (pi->next->res_word == RES_IN) {
9396 /* if no variable values after "in" we skip "for" */ 9397 /* if no variable values after "in" we skip "for" */
9397 if (!pi->next->cmds[0].argv) { 9398 if (!pi->next->cmds[0].argv) {
9398 G.last_exitcode = rcode = EXIT_SUCCESS;
9399 debug_printf_exec(": null FOR: exitcode EXIT_SUCCESS\n"); 9399 debug_printf_exec(": null FOR: exitcode EXIT_SUCCESS\n");
9400 break; 9400 break;
9401 } 9401 }
diff --git a/shell/hush_test/hush-misc/empty_for1.right b/shell/hush_test/hush-misc/empty_for1.right
new file mode 100644
index 000000000..46ffcece7
--- /dev/null
+++ b/shell/hush_test/hush-misc/empty_for1.right
@@ -0,0 +1 @@
Zero:0
diff --git a/shell/hush_test/hush-misc/empty_for1.tests b/shell/hush_test/hush-misc/empty_for1.tests
new file mode 100755
index 000000000..5a2554d54
--- /dev/null
+++ b/shell/hush_test/hush-misc/empty_for1.tests
@@ -0,0 +1,5 @@
1false
2for v; do
3 exit 2
4done
5echo Zero:$?