about summary refs log tree commit diff
path: root/Src/Modules/socket.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2005-04-15 10:40:01 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2005-04-15 10:40:01 +0000
commitd6089cc8b17ed7d33850bb9075a9c6771fe120d6 (patch)
treea784b891867af1aef0e10b19fca30d066dc61f84 /Src/Modules/socket.c
parentc69b149cb5ce6446eb267074f640e34ca726a45d (diff)
downloadzsh-d6089cc8b17ed7d33850bb9075a9c6771fe120d6.tar.gz
zsh-d6089cc8b17ed7d33850bb9075a9c6771fe120d6.tar.xz
zsh-d6089cc8b17ed7d33850bb9075a9c6771fe120d6.zip
21143: more care about special file descriptors
Diffstat (limited to 'Src/Modules/socket.c')
-rw-r--r--Src/Modules/socket.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Src/Modules/socket.c b/Src/Modules/socket.c
index 3a2c590a1..2f95a84d5 100644
--- a/Src/Modules/socket.c
+++ b/Src/Modules/socket.c
@@ -78,6 +78,11 @@ bin_zsocket(char *nam, char **args, Options ops, UNUSED(int func))
 		     OPT_ARG(ops, 'd'), 0);
 	    return 1;
 	}
+	if (targetfd <= max_zsh_fd && fdtable[targetfd] != FDT_UNUSED) {
+	    zwarnnam(nam, "file descriptor %d is in use by the shell",
+		     NULL, targetfd);
+	    return 1;
+	}
     }
 
     if (OPT_ISSET(ops,'l')) {