diff --git a/ssh-keyscan.c b/ssh-keyscan.c index 3480f8f00..d29a03b4e 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keyscan.c,v 1.144 2021/12/02 23:45:36 djm Exp $ */ +/* $OpenBSD: ssh-keyscan.c,v 1.145 2022/01/21 00:53:40 deraadt Exp $ */ /* * Copyright 1995, 1996 by David Mazieres . * @@ -592,9 +592,11 @@ conloop(void) else timespecclear(&seltime); - while (ppoll(read_wait, maxfd, &seltime, NULL) == -1 && - (errno == EAGAIN || errno == EINTR || errno == EWOULDBLOCK)) - ; + while (ppoll(read_wait, maxfd, &seltime, NULL) == -1) { + if (errno == EAGAIN || errno == EINTR || errno == EWOULDBLOCK) + continue; + error("poll error"); + } for (i = 0; i < maxfd; i++) { if (read_wait[i].revents & (POLLHUP|POLLERR|POLLNVAL))