ref: 08adf66b3f2fe389f0c0a1def4d1d6b3baaa235e
parent: 44cb92becf1a420e6f72f4f1637fd0914c5cd46d
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Wed Apr 3 10:16:28 EDT 2019
sshnet: don't leak "Dialing" connections when "connect" ctl write gets interrupted
--- a/sys/src/cmd/sshnet.c
+++ b/sys/src/cmd/sshnet.c
@@ -1086,11 +1086,13 @@
c->sendpkt = pkt;
c->sendwin = win;
c->servernum = n;
- c->state = Established;
- if(c->wq != nil){- respond(c->wq, nil);
- c->wq = nil;
+ if(c->wq == nil){+ teardownclient(c);
+ break;
}
+ respond(c->wq, nil);
+ c->wq = nil;
+ c->state = Established;
break;
case MSG_CHANNEL_OPEN_FAILURE:
if(unpack(m, "_u____s", &chan, &s, &n) < 0)
--
⑨