From: Pekka Riikonen Date: Wed, 11 May 2005 16:54:14 +0000 (+0000) Subject: Check for FD_SETSIZE in silc_select to not go over. X-Git-Tag: silc.server.1.0~1 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=5b005f3595ebe689b6845967ad3a52cc60609b22;p=silc.git Check for FD_SETSIZE in silc_select to not go over. --- diff --git a/lib/silcutil/unix/silcunixschedule.c b/lib/silcutil/unix/silcunixschedule.c index d27ceacd..7143e7af 100644 --- a/lib/silcutil/unix/silcunixschedule.c +++ b/lib/silcutil/unix/silcunixschedule.c @@ -36,6 +36,11 @@ int silc_select(SilcScheduleFd fds, SilcUInt32 fds_count, if (!fds[i].events) continue; +#ifdef FD_SETSIZE + if (fds[i].fd >= FD_SETSIZE) + break; +#endif /* FD_SETSIZE */ + if (fds[i].fd > max_fd) max_fd = fds[i].fd; @@ -55,6 +60,11 @@ int silc_select(SilcScheduleFd fds, SilcUInt32 fds_count, if (!fds[i].events) continue; +#ifdef FD_SETSIZE + if (fds[i].fd >= FD_SETSIZE) + break; +#endif /* FD_SETSIZE */ + if (FD_ISSET(fds[i].fd, &in)) fds[i].revents |= SILC_TASK_READ; if (FD_ISSET(fds[i].fd, &out))