From: simon Date: Thu, 8 Dec 2011 19:15:53 +0000 (+0000) Subject: Make sure we never send window adjustments (or winadjes) on channels X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/commitdiff_plain/beff003a9e3e1b746473ea81f3ffad3dfcfc5f6f 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 --- 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; /*