diff --git a/uri.go b/uri.go index 8f9df2b72..231457691 100644 --- a/uri.go +++ b/uri.go @@ -173,6 +173,9 @@ func parseAddress(address string) (uri *URI, err error) { if err != nil { return nil, errors.New("converting port string to int") } + if port > 65535 { + return nil, errors.New("port must be in range 0 - 65535") + } } uri = &URI{ Scheme: scheme, diff --git a/uri_internal_test.go b/uri_internal_test.go index 9bc6403d7..cb59c75c6 100644 --- a/uri_internal_test.go +++ b/uri_internal_test.go @@ -172,5 +172,5 @@ func validFixture() []uriItem { } func invalidFixture() []string { - return []string{"foo:bar", "http://foo:", "foo:", ":bar", "http://pilosa.com:129999999999999999999999993", "fd42:4201:f86b:7e09:216:3eff:fefa:ed80"} + return []string{"foo:bar", "http://foo:", "foo:", ":bar", "http://pilosa.com:129999999999999999999999993", "fd42:4201:f86b:7e09:216:3eff:fefa:ed80", ":65536"} }