limit FD to FD_SETSIZE
authorAlan T. DeKok <aland@freeradius.org>
Mon, 28 Nov 2016 15:37:17 +0000 (10:37 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 28 Nov 2016 15:37:48 +0000 (10:37 -0500)
src/lib/event.c

index fa1e0aa..ba9e60c 100644 (file)
@@ -402,6 +402,14 @@ int fr_event_fd_insert(fr_event_list_t *el, int type, int fd,
 
 #else  /* HAVE_KQUEUE */
 
+       /*
+        *      select() has limits.
+        */
+       if (fd > FD_SETSIZE) {
+               fprintf(stderr, "FD is larger than FD_SETSIZE");
+               return 0;
+       }
+
        for (i = 0; i <= el->max_readers; i++) {
                /*
                 *      Be fail-safe on multiple inserts.