upstream: check for POLLHUP as well as POLLIN in sshd listen loop;

ok deraadt millert

OpenBSD-Commit-ID: a4f1244c5a9c2b08dac4f3b1dc22e9d1dc60c587
This commit is contained in:
djm@openbsd.org 2021-11-18 03:07:20 +00:00 committed by Damien Miller
parent 1f3055d788
commit b99498d0c9
1 changed files with 2 additions and 2 deletions

4
sshd.c
View File

@ -1,4 +1,4 @@
/* $OpenBSD: sshd.c,v 1.580 2021/11/17 21:06:39 djm Exp $ */ /* $OpenBSD: sshd.c,v 1.581 2021/11/18 03:07:20 djm Exp $ */
/* /*
* Author: Tatu Ylonen <ylo@cs.hut.fi> * Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@ -1218,7 +1218,7 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s)
for (i = 0; i < options.max_startups; i++) { for (i = 0; i < options.max_startups; i++) {
if (startup_pipes[i] == -1 || if (startup_pipes[i] == -1 ||
!(pfd[num_listen_socks+i].revents & POLLIN)) !(pfd[num_listen_socks+i].revents & (POLLIN|POLLHUP)))
continue; continue;
switch (read(startup_pipes[i], &c, sizeof(c))) { switch (read(startup_pipes[i], &c, sizeof(c))) {
case -1: case -1: