summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Src/parse.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c3baf6c5b..68acea586 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-06-02 Peter Stephenson <pws@pwstephenson.fsnet.co.uk>
+
+ * 17272: Src/parse.c: `outer() { inner(); }' succeded; when outer
+ ran it created a bogus `inner' which crashed the shell. Make
+ original command issue error.
+
2002-05-31 Clint Adams <clint@zsh.org>
* 17266: Completion/Unix/Command/_man: check `manpath`
diff --git a/Src/parse.c b/Src/parse.c
index 5d78881c5..cb731736b 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -1590,6 +1590,8 @@ par_simple(int *complex, int nr)
pl = ecadd(WCB_PIPE(WC_PIPE_END, 0));
par_cmd(&c);
+ if (!c)
+ YYERROR(oecused);
set_sublist_code(sl, WC_SUBLIST_END, 0, ecused - 1 - sl, c);
set_list_code(ll, (Z_SYNC | Z_END), c);