]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix crash with conventional trackers when tcp and utp are disabled
authorMatt Joiner <anacrolix@gmail.com>
Thu, 16 Apr 2020 00:27:17 +0000 (10:27 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 16 Apr 2020 00:27:17 +0000 (10:27 +1000)
Fixes #396.

client.go

index 98c87171b65d1f9db372625b3ada25cbb392ce8c..da45ec093e3a86c11c45d0370cef83eb6e83757a 100644 (file)
--- a/client.go
+++ b/client.go
@@ -1323,13 +1323,15 @@ func (cl *Client) publicIp(peer net.IP) net.IP {
 }
 
 func (cl *Client) findListenerIp(f func(net.IP) bool) net.IP {
-       return addrIpOrNil(
-               cl.findListener(
-                       func(l net.Listener) bool {
-                               return f(addrIpOrNil(l.Addr()))
-                       },
-               ).Addr(),
+       l := cl.findListener(
+               func(l net.Listener) bool {
+                       return f(addrIpOrNil(l.Addr()))
+               },
        )
+       if l == nil {
+               return nil
+       }
+       return addrIpOrNil(l.Addr())
 }
 
 // Our IP as a peer should see it.