mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-25 23:21:54 +08:00
Merge pull request #2710 from ipfs/fix/nil-maddr
don't return nil multiaddrs from dht messages
This commit is contained in:
@ -107,14 +107,15 @@ func (m *Message_Peer) Addresses() []ma.Multiaddr {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var err error
|
maddrs := make([]ma.Multiaddr, 0, len(m.Addrs))
|
||||||
maddrs := make([]ma.Multiaddr, len(m.Addrs))
|
for _, addr := range m.Addrs {
|
||||||
for i, addr := range m.Addrs {
|
maddr, err := ma.NewMultiaddrBytes(addr)
|
||||||
maddrs[i], err = ma.NewMultiaddrBytes(addr)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debugf("error decoding Multiaddr for peer: %s", m.GetId())
|
log.Warningf("error decoding Multiaddr for peer: %s", m.GetId())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
maddrs = append(maddrs, maddr)
|
||||||
}
|
}
|
||||||
return maddrs
|
return maddrs
|
||||||
}
|
}
|
||||||
|
15
routing/dht/pb/message_test.go
Normal file
15
routing/dht/pb/message_test.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package dht_pb
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestBadAddrsDontReturnNil(t *testing.T) {
|
||||||
|
mp := new(Message_Peer)
|
||||||
|
mp.Addrs = [][]byte{[]byte("NOT A VALID MULTIADDR")}
|
||||||
|
|
||||||
|
addrs := mp.Addresses()
|
||||||
|
if len(addrs) > 0 {
|
||||||
|
t.Fatal("shouldnt have any multiaddrs")
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user