From 570c0716e30ca3490cc8f5d8d7cf25bcd99d6c7c Mon Sep 17 00:00:00 2001 From: Andrea Grandi Date: Fri, 25 Mar 2016 04:19:30 +0000 Subject: [PATCH] Add a check of the FD_SETSIZE before the call to select() Reviewed-by: Kurt Roeckx Reviewed-by: Matt Caswell --- apps/speed.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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; -- 2.25.1