Commit 570c0716 authored by Andrea Grandi's avatar Andrea Grandi Committed by Matt Caswell
Browse files

Add a check of the FD_SETSIZE before the call to select()

parent 69853045
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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;