diff --git a/pndp/packet.go b/pndp/packet.go index 7295e50..b12aa1e 100644 --- a/pndp/packet.go +++ b/pndp/packet.go @@ -128,7 +128,11 @@ func checksumAddition(b []byte) uint32 { var sum uint32 = 0 for i := 0; i < len(b); i++ { if i%2 == 0 { - sum += uint32(uint16(b[i])<<8 | uint16(b[i+1])) + if len(b) == i { + sum += uint32(uint16(b[i])<<8 | uint16(0x0)) + } else { + sum += uint32(uint16(b[i])<<8 | uint16(b[i+1])) + } } } return sum