upstream: check the return value of ssh_packet_write_poll() and
call sshpkt_fatal() if it fails; avoid potential busy-loop under some circumstances. Based on patch by Mike Frysinger; ok dtucker@ OpenBSD-Commit-ID: c79fe5cf4f0cd8074cb6db257c1394d5139408ec
This commit is contained in:
parent
dce74eab0c
commit
65d6fd0a8a
10
clientloop.c
10
clientloop.c
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: clientloop.c,v 1.337 2020/01/29 08:17:49 djm Exp $ */
|
/* $OpenBSD: clientloop.c,v 1.338 2020/01/30 07:20:57 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
|
||||||
|
@ -1392,8 +1392,12 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,
|
||||||
* Send as much buffered packet data as possible to the
|
* Send as much buffered packet data as possible to the
|
||||||
* sender.
|
* sender.
|
||||||
*/
|
*/
|
||||||
if (FD_ISSET(connection_out, writeset))
|
if (FD_ISSET(connection_out, writeset)) {
|
||||||
ssh_packet_write_poll(ssh);
|
if ((r = ssh_packet_write_poll(ssh)) != 0) {
|
||||||
|
sshpkt_fatal(ssh, r,
|
||||||
|
"%s: ssh_packet_write_poll", __func__);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we are a backgrounded control master, and the
|
* If we are a backgrounded control master, and the
|
||||||
|
|
Loading…
Reference in New Issue