icmp: fix ListenPacket panic

Fixes golang/go#32933

Change-Id: I837d6a54e51d91ff3260ec7e1c79412c52dff20d
Reviewed-on: https://go-review.googlesource.com/c/net/+/185317
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/icmp/listen_posix.go b/icmp/listen_posix.go
index e1b1aa9..f0f1f2f 100644
--- a/icmp/listen_posix.go
+++ b/icmp/listen_posix.go
@@ -50,6 +50,9 @@
 		family, proto = syscall.AF_INET6, iana.ProtocolIPv6ICMP
 	default:
 		i := last(network, ':')
+		if i < 0 {
+			i = len(network)
+		}
 		switch network[:i] {
 		case "ip4":
 			proto = iana.ProtocolICMP