From 7e6b3b24e3ef0c375762b66d794d694c08d4762e Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Fri, 26 Dec 2014 17:18:36 +1100 Subject: [PATCH] Catch a few possible connection leaks --- client.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client.go b/client.go index 20cbdfc6..c11d1a02 100644 --- a/client.go +++ b/client.go @@ -572,6 +572,7 @@ func (cl *Client) acceptConnections(l net.Listener, utp bool) { if blockRange != nil { inboundConnsBlocked.Add(1) log.Printf("inbound connection from %s blocked by %s", conn.RemoteAddr(), blockRange) + conn.Close() continue } go func() { @@ -599,6 +600,9 @@ type dialResult struct { func doDial(dial func() (net.Conn, error), ch chan dialResult, utp bool) { conn, err := dial() if err != nil { + if conn != nil { + conn.Close() + } conn = nil // Pedantic } ch <- dialResult{conn, utp} -- 2.48.1