aboutsummaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorJacques Vidrine <nectar@FreeBSD.org>2002-09-09 16:14:03 +0000
committerJacques Vidrine <nectar@FreeBSD.org>2002-09-09 16:14:03 +0000
commit75bed0534a6044dabd6a7a42f7566abe005326f4 (patch)
tree8ccc37038ce58003445ef7e54e584944d3ead162 /usr.bin
parent012b8a41116217d359670922d7caa6de483afbae (diff)
downloadsrc-75bed0534a6044dabd6a7a42f7566abe005326f4.tar.gz
src-75bed0534a6044dabd6a7a42f7566abe005326f4.zip
Check for FD_SET overrun.
Notes
Notes: svn path=/head/; revision=103131
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/rsh/rsh.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/usr.bin/rsh/rsh.c b/usr.bin/rsh/rsh.c
index 0b52be417f0b..a4a3a7405c1b 100644
--- a/usr.bin/rsh/rsh.c
+++ b/usr.bin/rsh/rsh.c
@@ -367,6 +367,8 @@ reread: errno = 0;
bp = buf;
rewrite:
+ if (rem >= FD_SETSIZE)
+ errx(1, "descriptor too big");
FD_ZERO(&rembits);
FD_SET(rem, &rembits);
nfds = rem + 1;
@@ -404,6 +406,8 @@ done:
tvtimeout.tv_usec = 0;
(void)sigsetmask(omask);
+ if (rfd2 >= FD_SETSIZE || rem >= FD_SETSIZE)
+ errx(1, "descriptor too big");
FD_ZERO(&readfrom);
FD_SET(rfd2, &readfrom);
FD_SET(rem, &readfrom);