diff --git a/pkg/decoders/prefix.go b/pkg/decoders/prefix.go index 08da700..02e0917 100644 --- a/pkg/decoders/prefix.go +++ b/pkg/decoders/prefix.go @@ -27,6 +27,11 @@ func MaybePrefix(s string) bool { return false } + // Must contain at least one dot or colon + if !strings.Contains(s, ":") && !strings.Contains(s, ".") { + return false + } + // Test using regex matches := ReMatchIPPrefix.FindAllStringIndex(s, -1) if len(matches) == 1 { diff --git a/pkg/decoders/prefix_test.go b/pkg/decoders/prefix_test.go index f891bc7..6d1fbcf 100644 --- a/pkg/decoders/prefix_test.go +++ b/pkg/decoders/prefix_test.go @@ -12,9 +12,11 @@ func TestMaybePrefix(t *testing.T) { {"10.0.0", true}, {"23.42.11.42/23", true}, {"fa42:2342::/32", true}, - {"200", true}, + {"1.", true}, + {"200", false}, + {"200.", true}, {"2001:", true}, - {"A", true}, + {"A", false}, {"A b", false}, {"23 Foo", false}, {"Nordfoo", false},