diff --git a/src/system/kernel/events/wait_for_objects.cpp b/src/system/kernel/events/wait_for_objects.cpp index 6aaa6b7f42..3d64690db0 100644 --- a/src/system/kernel/events/wait_for_objects.cpp +++ b/src/system/kernel/events/wait_for_objects.cpp @@ -968,7 +968,7 @@ _user_select(int numFDs, fd_set *userReadSet, fd_set *userWriteSet, timeout = B_INFINITE_TIMEOUT; } - if (numFDs < 0 || !check_max_fds(numFDs)) + if (numFDs < 0 || (numFDs > FD_SETSIZE && !check_max_fds(numFDs))) return B_BAD_VALUE; if ((userReadSet != NULL && !IS_USER_ADDRESS(userReadSet))