diff --git a/icmp/listen_posix.go b/icmp/listen_posix.go index 38b20f95..fa1653b7 100644 --- a/icmp/listen_posix.go +++ b/icmp/listen_posix.go @@ -57,7 +57,7 @@ func ListenPacket(network, address string) (*PacketConn, error) { proto = iana.ProtocolIPv6ICMP } } - var err error + var cerr error var c net.PacketConn switch family { case syscall.AF_INET, syscall.AF_INET6: @@ -80,12 +80,12 @@ func ListenPacket(network, address string) (*PacketConn, error) { } f := os.NewFile(uintptr(s), "datagram-oriented icmp") defer f.Close() - c, err = net.FilePacketConn(f) + c, cerr = net.FilePacketConn(f) default: - c, err = net.ListenPacket(network, address) + c, cerr = net.ListenPacket(network, address) } - if err != nil { - return nil, err + if cerr != nil { + return nil, cerr } switch proto { case iana.ProtocolICMP: