From: Matt Joiner Date: Fri, 26 Dec 2014 06:18:36 +0000 (+1100) Subject: Catch a few possible connection leaks X-Git-Tag: v1.0.0~1378 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=7e6b3b24e3ef0c375762b66d794d694c08d4762e;p=btrtrc.git Catch a few possible connection leaks --- 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}