From d596e7045d420467b4217b5e91e0e7e9cd4257dd Mon Sep 17 00:00:00 2001 From: Alirie Gray Date: Wed, 29 May 2019 13:33:44 -0700 Subject: [PATCH] Fix runtime panic --- ping.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ping.go b/ping.go index 53fdf69..b9d64fa 100644 --- a/ping.go +++ b/ping.go @@ -442,7 +442,7 @@ func (p *Pinger) processPacket(recv *packet) error { var proto int if p.ipv4 { if p.network == "ip" { - bytes = ipv4Payload(recv.bytes) + bytes = ipv4Payload(recv) } else { bytes = recv.bytes } @@ -591,11 +591,13 @@ func byteSliceOfSize(n int) []byte { return b } -func ipv4Payload(b []byte) []byte { +func ipv4Payload(recv *packet) []byte { + b := recv.bytes if len(b) < ipv4.HeaderLen { return b } hdrlen := int(b[0]&0x0f) << 2 + recv.nbytes -= hdrlen return b[hdrlen:] }