From 1a8d3e4c453980f409ab4db7d0b98baadf4f0891 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Wed, 23 Jun 2021 10:48:13 -0700 Subject: [PATCH] guard against nil {Local,Remote}Addr() return values --- net/net.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/net.go b/net/net.go index 7e0f412..16f1bbc 100644 --- a/net/net.go +++ b/net/net.go @@ -248,16 +248,16 @@ func (l *maListener) Accept() (Conn, error) { var raddr ma.Multiaddr // This block protects us in transports (i.e. unix sockets) that don't have // remote addresses for inbound connections. - if nconn.RemoteAddr().String() != "" { - raddr, err = FromNetAddr(nconn.RemoteAddr()) + if addr := nconn.RemoteAddr(); addr != nil && addr.String() != "" { + raddr, err = FromNetAddr(addr) if err != nil { return nil, fmt.Errorf("failed to convert conn.RemoteAddr: %s", err) } } var laddr ma.Multiaddr - if nconn.LocalAddr().String() != "" { - laddr, err = FromNetAddr(nconn.LocalAddr()) + if addr := nconn.LocalAddr(); addr != nil && addr.String() != "" { + laddr, err = FromNetAddr(addr) if err != nil { return nil, fmt.Errorf("failed to convert conn.LocalAddr: %s", err) }