From: Darren Tucker Date: Wed, 8 Sep 2021 08:39:44 +0000 (+1000) Subject: Increment nfds when coming from startup_pipe. X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2FV_8_7;p=thirdparty%2Fopenssh-portable.git Increment nfds when coming from startup_pipe. If we have to increase nfds because startup_pipe[0] is above any of the descriptors passed in the fd_sets, we also need to add 1 to nfds since select takes highest FD number plus one. bz#3345 from yaroslav.kuzmin at vmssoftware.com. --- diff --git a/openbsd-compat/bsd-pselect.c b/openbsd-compat/bsd-pselect.c index fff1bf54f..b36320863 100644 --- a/openbsd-compat/bsd-pselect.c +++ b/openbsd-compat/bsd-pselect.c @@ -188,7 +188,7 @@ pselect(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, if (unmasked) { pselect_notify_setup(); pselect_notify_prepare(readfds); - nfds = MAX(nfds, notify_pipe[0]); + nfds = MAX(nfds, notify_pipe[0] + 1); } /* Unmask signals, call select then restore signal mask. */