Browse Source

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>
songjiayang 6 years ago
parent
commit
4ba9e2ef06
1 changed files with 3 additions and 0 deletions
  1. 3 0
      icmp/listen_posix.go

+ 3 - 0
icmp/listen_posix.go

@@ -50,6 +50,9 @@ func ListenPacket(network, address string) (*PacketConn, error) {
 		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