about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-10-10 16:40:54 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-10-10 16:40:54 +0000
commit2b1deb0aee9bfe22f885e3e20c8636e49c01dd21 (patch)
treeec4db192af48291cd8914ad39083df05cd59a7ae
parent621bcdd7671d7463910afe24fada85792d803a8c (diff)
downloadzsh-2b1deb0aee9bfe22f885e3e20c8636e49c01dd21.tar.gz
zsh-2b1deb0aee9bfe22f885e3e20c8636e49c01dd21.tar.xz
zsh-2b1deb0aee9bfe22f885e3e20c8636e49c01dd21.zip
zsh-workers/8189
-rw-r--r--Src/exec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Src/exec.c b/Src/exec.c
index 6d504e52d..7993af2da 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -1906,9 +1906,9 @@ execcmd(Cmd cmd, int input, int output, int how, int last1)
 		break;
 	    case MERGEIN:
 	    case MERGEOUT:
-		if(fn->fd2 < 10)
+		if (fn->fd2 < 10)
 		    closemn(mfds, fn->fd2);
-		if(fn->fd2 > 9) {
+		if (fn->fd2 > 9 && fdtable[fn->fd2]) {
 		    fil = -1;
 		    errno = EBADF;
 		} else {
@@ -1922,7 +1922,7 @@ execcmd(Cmd cmd, int input, int output, int how, int last1)
 
 		    closemnodes(mfds);
 		    fixfds(save);
-		    if(fn->fd2 != -2)
+		    if (fn->fd2 != -2)
 		    	sprintf(fdstr, "%d", fn->fd2);
 		    zerr("%s: %e", fn->fd2 == -2 ? "coprocess" : fdstr, errno);
 		    execerr();