From 81f3b1a233a10fdba00dbeae02fecc2c01d8bca3 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 3 Apr 2019 14:16:28 +0200 Subject: [PATCH] sshnet: don't leak "Dialing" connections when "connect" ctl write gets interrupted --- sys/src/cmd/sshnet.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/src/cmd/sshnet.c b/sys/src/cmd/sshnet.c index 993f16021..70d4aeb2d 100755 --- a/sys/src/cmd/sshnet.c +++ b/sys/src/cmd/sshnet.c @@ -1086,11 +1086,13 @@ handlemsg(Msg *m) 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)