From: Andrea Grandi Date: Fri, 25 Mar 2016 04:19:30 +0000 (+0000) Subject: Add a check of the FD_SETSIZE before the call to select() X-Git-Tag: OpenSSL_1_1_0-pre5~127 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=570c0716e30ca3490cc8f5d8d7cf25bcd99d6c7c Add a check of the FD_SETSIZE before the call to select() Reviewed-by: Kurt Roeckx Reviewed-by: Matt Caswell --- diff --git a/apps/speed.c b/apps/speed.c index 409f3a98e2..b3f477e175 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -1174,6 +1174,16 @@ static int run_benchmark(int async_jobs, int (*loop_function)(void *), loopargs_ max_fd = job_fd; } + if (max_fd >= FD_SETSIZE) { + BIO_printf(bio_err, + "Error: max_fd (%d) must be smaller than FD_SETSIZE (%d). " + "Decrease the value of async_jobs\n", + max_fd, FD_SETSIZE); + ERR_print_errors(bio_err); + error = 1; + break; + } + select_result = select(max_fd + 1, &waitfdset, NULL, NULL, NULL); if (select_result == -1 && errno == EINTR) continue;