From 5b005f3595ebe689b6845967ad3a52cc60609b22 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Wed, 11 May 2005 16:54:14 +0000 Subject: [PATCH] Check for FD_SETSIZE in silc_select to not go over. --- lib/silcutil/unix/silcunixschedule.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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)) -- 2.43.0