From 79bb101787c5e2d198ee5ec06b25ec19a304212b Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Fri, 19 Nov 2021 20:07:52 -0400 Subject: [PATCH] fix: port number verification --- waku/v2/utils/peer.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/waku/v2/utils/peer.go b/waku/v2/utils/peer.go index 0e777561..28064b3a 100644 --- a/waku/v2/utils/peer.go +++ b/waku/v2/utils/peer.go @@ -5,6 +5,7 @@ import ( "crypto/ecdsa" "errors" "fmt" + "math" "math/rand" "net" "strconv" @@ -161,7 +162,13 @@ func GetENRandIP(addr ma.Multiaddr, privK *ecdsa.PrivateKey) (*enode.Node, *net. } r := &enr.Record{} - r.Set(enr.TCP(port)) + + if port > 0 && port <= math.MaxUint16 { + r.Set(enr.TCP(uint16(port))) // lgtm [go/incorrect-integer-conversion] + } else { + return nil, nil, fmt.Errorf("could not set port %d", port) + } + r.Set(enr.IP(net.ParseIP(ip))) err = enode.SignV4(r, privK)