From 4ec199c6dc0088b8ddcdcb1c205a9a8aebb718b3 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Fri, 1 Nov 2024 23:42:02 -0400 Subject: [PATCH] kernel/events: Allow numFDs greater than max FDs in select(). So long as the numFDs is <= FD_SETSIZE, anyway. Fixes #19220. --- src/system/kernel/events/wait_for_objects.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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))