X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fsys-bsd.c;h=0cccbae872591981101b995fd00c5c625b325bc4;hb=0f9a7931d88adb8df9d962997c7cd92969f1d80d;hp=2ae843ad5bfd56a126a37268438e21a01cdae346;hpb=f53a48eb9d74db3c71938e114b7f489c339bc003;p=ppp.git diff --git a/pppd/sys-bsd.c b/pppd/sys-bsd.c index 2ae843a..0cccbae 100644 --- a/pppd/sys-bsd.c +++ b/pppd/sys-bsd.c @@ -74,7 +74,7 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define RCSID "$Id: sys-bsd.c,v 1.48 2002/12/04 23:03:32 paulus Exp $" +#define RCSID "$Id: sys-bsd.c,v 1.49 2002/12/06 12:06:45 paulus Exp $" /* $NetBSD: sys-bsd.c,v 1.1.1.3 1997/09/26 18:53:04 christos Exp $ */ /* @@ -646,6 +646,8 @@ wait_input(timo) void add_fd(fd) int fd; { + if (fd >= FD_SETSIZE) + fatal("internal error: file descriptor too large (%d)", fd); FD_SET(fd, &in_fds); if (fd > max_in_fd) max_in_fd = fd; @@ -674,6 +676,8 @@ wait_loop_output(timo) int n; FD_ZERO(&ready); + if (loop_master >= FD_SETSIZE) + fatal("internal error: file descriptor too large (%d)", loop_master); FD_SET(loop_master, &ready); n = select(loop_master + 1, &ready, NULL, &ready, timo); if (n < 0 && errno != EINTR)