When iterating over all channels for a dead SSH connection, don't miss out
authorjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Mon, 3 Jan 2011 16:50:41 +0000 (16:50 +0000)
committerjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Mon, 3 Jan 2011 16:50:41 +0000 (16:50 +0000)
commit409eca86a3fa272454bf1b552dff416febd35ab2
treefbf31d4872a12614937ccf5e77796b879d4a4ff3
parent19e569a109deafe1e966645084ee09ed6ea428c9
When iterating over all channels for a dead SSH connection, don't miss out
those in the CHAN_SOCKDATA_DORMANT state (i.e., local-to-remote forwardings
which the SSH server had not yet acknowledged).
Marcel Kilgus has been running with the ssh_do_close() patch for nearly two
years (*cough*) and reports that it has eliminated frequent
'unclean-close-crash' symptoms for him (due to the unclosed socket generating
a pfd_closing() which accessed freed memory), although I've not reproduced
that. The patch to ssh_free() is mine and not known to fix any symptoms.

git-svn-id: svn://svn.tartarus.org/sgt/putty@9069 cda61777-01e9-0310-a592-d414129be87e
ssh.c