From beff003a9e3e1b746473ea81f3ffad3dfcfc5f6f Mon Sep 17 00:00:00 2001 From: simon Date: Thu, 8 Dec 2011 19:15:53 +0000 Subject: [PATCH] Make sure we never send window adjustments (or winadjes) on channels for which we've already sent CHANNEL_CLOSE. It would be embarrassing if the remote end had also sent CHANNEL_CLOSE in response and then received our communication once it had forgotten about the channel. git-svn-id: svn://svn.tartarus.org/sgt/putty@9360 cda61777-01e9-0310-a592-d414129be87e --- ssh.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ssh.c b/ssh.c index 3464ea54..6471c4b8 100644 --- a/ssh.c +++ b/ssh.c @@ -6551,9 +6551,10 @@ static void ssh2_set_window(struct ssh_channel *c, int newwin) /* * Never send WINDOW_ADJUST for a channel that the remote side has * already sent EOF on; there's no point, since it won't be - * sending any more data anyway. + * sending any more data anyway. Ditto if _we've_ already sent + * CLOSE. */ - if (c->closes & CLOSES_RCVD_EOF) + if (c->closes & (CLOSES_RCVD_EOF | CLOSES_SENT_CLOSE)) return; /* -- 2.11.0