projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Extra safety feature to avoid sending SSH2_MSG_WINDOW_ADJUST on
[u/mdw/putty]
/
ssh.c
diff --git
a/ssh.c
b/ssh.c
index
b8abc5b
..
8fac568
100644
(file)
--- a/
ssh.c
+++ b/
ssh.c
@@
-3734,6
+3734,14
@@
static int ssh2_try_send(struct ssh_channel *c)
*/
static void ssh2_set_window(struct ssh_channel *c, unsigned newwin)
{
*/
static void ssh2_set_window(struct ssh_channel *c, unsigned newwin)
{
+ /*
+ * Never send WINDOW_ADJUST for a channel that the remote side
+ * already thinks it's closed; there's no point, since it won't
+ * be sending any more data anyway.
+ */
+ if (c->closes != 0)
+ return;
+
if (newwin > c->v.v2.locwindow) {
ssh2_pkt_init(SSH2_MSG_CHANNEL_WINDOW_ADJUST);
ssh2_pkt_adduint32(c->remoteid);
if (newwin > c->v.v2.locwindow) {
ssh2_pkt_init(SSH2_MSG_CHANNEL_WINDOW_ADJUST);
ssh2_pkt_adduint32(c->remoteid);