From 26e67e76b6c3f6ce91f7c52def5af501b4e0f3a2 Mon Sep 17 00:00:00 2001 From: Mikio Hara Date: Wed, 12 Sep 2018 06:37:47 +0900 Subject: [PATCH] internal/socks: fix socket descriptor leakage in Dialer.Dial Fixes golang/go#27630. Change-Id: Id44ade435733ffcd2fc8159ea9ea3287baadf97a Reviewed-on: https://go-review.googlesource.com/134755 Run-TryBot: Mikio Hara TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- internal/socks/socks.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/socks/socks.go b/internal/socks/socks.go index d93e699b..6929a9fd 100644 --- a/internal/socks/socks.go +++ b/internal/socks/socks.go @@ -224,6 +224,7 @@ func (d *Dialer) Dial(network, address string) (net.Conn, error) { return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} } if _, err := d.DialWithConn(context.Background(), c, network, address); err != nil { + c.Close() return nil, err } return c, nil