diff options
author | Jacques Vidrine <nectar@FreeBSD.org> | 2002-09-09 16:14:03 +0000 |
---|---|---|
committer | Jacques Vidrine <nectar@FreeBSD.org> | 2002-09-09 16:14:03 +0000 |
commit | 75bed0534a6044dabd6a7a42f7566abe005326f4 (patch) | |
tree | 8ccc37038ce58003445ef7e54e584944d3ead162 /usr.bin | |
parent | 012b8a41116217d359670922d7caa6de483afbae (diff) | |
download | src-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.c | 4 |
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); |