mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-07-27 15:54:22 +02:00
upstream: If select() fails in ssh_packet_read_seqnr go directly to
the error path instead of trying to read from the socket on the way out, which resets errno and causes the true error to be misreported. ok djm@ OpenBSD-Commit-ID: 2614edaadbd05a957aa977728aa7a030af7c6f0a
This commit is contained in:
parent
4ef75926ef
commit
1da5934b86
8
packet.c
8
packet.c
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: packet.c,v 1.269 2017/12/18 23:13:42 djm Exp $ */
|
/* $OpenBSD: packet.c,v 1.270 2018/05/25 03:20:59 dtucker 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
|
||||||
@ -1338,8 +1338,10 @@ ssh_packet_read_seqnr(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p)
|
|||||||
NULL, NULL, timeoutp)) >= 0)
|
NULL, NULL, timeoutp)) >= 0)
|
||||||
break;
|
break;
|
||||||
if (errno != EAGAIN && errno != EINTR &&
|
if (errno != EAGAIN && errno != EINTR &&
|
||||||
errno != EWOULDBLOCK)
|
errno != EWOULDBLOCK) {
|
||||||
break;
|
r = SSH_ERR_SYSTEM_ERROR;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
if (state->packet_timeout_ms == -1)
|
if (state->packet_timeout_ms == -1)
|
||||||
continue;
|
continue;
|
||||||
ms_subtract_diff(&start, &ms_remain);
|
ms_subtract_diff(&start, &ms_remain);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user