aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/hush.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/shell/hush.c b/shell/hush.c
index d5ea3b21f..3a4b5d894 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -9394,6 +9394,13 @@ int hush_main(int argc, char **argv)
optarg++;
G.depth_of_loop = bb_strtou(optarg, &optarg, 16);
# endif
+# if ENABLE_HUSH_FUNCTIONS
+ /* nommu uses re-exec trick for "... | func | ...",
+ * should allow "return".
+ * This accidentally allows returns in subshells.
+ */
+ G_flag_return_in_progress = -1;
+# endif
break;
}
case 'R':