From d4430e89b6888a433c262a16bb4a22eaa47c45c3 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Thu, 16 Apr 2020 10:27:17 +1000 Subject: [PATCH] Fix crash with conventional trackers when tcp and utp are disabled Fixes #396. --- client.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/client.go b/client.go index 98c87171..da45ec09 100644 --- 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. -- 2.48.1