hush: fix a case where return in sourced file has no effect

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/shell/hush.c b/shell/hush.c
index 339f334..8154ac4 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -5554,6 +5554,10 @@
 		debug_printf_exec("parse_and_run_stream: run_and_free_list\n");
 		run_and_free_list(pipe_list);
 		empty = 0;
+#if ENABLE_HUSH_FUNCTIONS
+		if (G.flag_return_in_progress == 1)
+			break;
+#endif
 	}
 }