summaryrefslogtreecommitdiffstats
path: root/usr.bin/rsh
diff options
context:
space:
mode:
authornectar <nectar@FreeBSD.org>2002-09-09 16:14:03 +0000
committernectar <nectar@FreeBSD.org>2002-09-09 16:14:03 +0000
commit89a48b22ec8c2358742b93336b8090b7185ff9ee (patch)
tree8ccc37038ce58003445ef7e54e584944d3ead162 /usr.bin/rsh
parentdd9ba6e842206d91cae719d204523f24c60615ec (diff)
downloadFreeBSD-src-89a48b22ec8c2358742b93336b8090b7185ff9ee.zip
FreeBSD-src-89a48b22ec8c2358742b93336b8090b7185ff9ee.tar.gz
Check for FD_SET overrun.
Diffstat (limited to 'usr.bin/rsh')
-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 0b52be4..a4a3a74 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);
OpenPOWER on IntegriCloud