about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-11-17 16:56:41 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-11-17 16:56:41 +0000
commit0d0e497c693939633fda6cfa0c3269258b8e97ec (patch)
tree20630fa9150130abf2ef12d17a813fc57c7eda90 /Src
parent2fbc131ca81470a6b9aa077578f2eb58a7e8e008 (diff)
downloadzsh-0d0e497c693939633fda6cfa0c3269258b8e97ec.tar.gz
zsh-0d0e497c693939633fda6cfa0c3269258b8e97ec.tar.xz
zsh-0d0e497c693939633fda6cfa0c3269258b8e97ec.zip
26056 "< <(...)more_stuff" etc. are errors
Diffstat (limited to 'Src')
-rw-r--r--Src/exec.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Src/exec.c b/Src/exec.c
index a398211d3..5aec655a2 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -3773,9 +3773,14 @@ getpipe(char *cmd, int nullexec)
     int pipes[2], out = *cmd == Inang;
     pid_t pid;
     struct timeval bgtime;
+    char *ends;
 
-    if (!(prog = parsecmd(cmd, NULL)))
+    if (!(prog = parsecmd(cmd, &ends)))
 	return -1;
+    if (*ends) {
+	zerr("invalid syntax for process substitution in redirection");
+	return -1;
+    }
     mpipe(pipes);
     if ((pid = zfork(&bgtime))) {
 	zclose(pipes[out]);