diff options
author | nectar <nectar@FreeBSD.org> | 2002-09-09 16:14:03 +0000 |
---|---|---|
committer | nectar <nectar@FreeBSD.org> | 2002-09-09 16:14:03 +0000 |
commit | 89a48b22ec8c2358742b93336b8090b7185ff9ee (patch) | |
tree | 8ccc37038ce58003445ef7e54e584944d3ead162 /usr.bin/rsh/rsh.c | |
parent | dd9ba6e842206d91cae719d204523f24c60615ec (diff) | |
download | FreeBSD-src-89a48b22ec8c2358742b93336b8090b7185ff9ee.zip FreeBSD-src-89a48b22ec8c2358742b93336b8090b7185ff9ee.tar.gz |
Check for FD_SET overrun.
Diffstat (limited to 'usr.bin/rsh/rsh.c')
-rw-r--r-- | usr.bin/rsh/rsh.c | 4 |
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); |