From 6c3378090057b3e19a96dbe0ecbce543880fd0d8 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Tue, 24 Jul 2018 16:58:40 +0000 Subject: [PATCH] Error checking in pkt.Uint* --- packet.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packet.go b/packet.go index f3f0427..bfc187e 100644 --- a/packet.go +++ b/packet.go @@ -162,36 +162,57 @@ func (pkt *Packet) readUint(order binary.ByteOrder, bits int, name string) (inte func (pkt *Packet) Uint64LE(name string) (uint64, error) { value, err := pkt.readUint(binary.LittleEndian, 64, name) + if err != nil { + return 0, err + } return value.(uint64), err } func (pkt *Packet) Uint32LE(name string) (uint32, error) { value, err := pkt.readUint(binary.LittleEndian, 32, name) + if err != nil { + return 0, err + } return value.(uint32), err } func (pkt *Packet) Uint16LE(name string) (uint16, error) { value, err := pkt.readUint(binary.LittleEndian, 16, name) + if err != nil { + return 0, err + } return value.(uint16), err } func (pkt *Packet) Uint64BE(name string) (uint64, error) { value, err := pkt.readUint(binary.BigEndian, 64, name) + if err != nil { + return 0, err + } return value.(uint64), err } func (pkt *Packet) Uint32BE(name string) (uint32, error) { value, err := pkt.readUint(binary.BigEndian, 32, name) + if err != nil { + return 0, err + } return value.(uint32), err } func (pkt *Packet) Uint16BE(name string) (uint16, error) { value, err := pkt.readUint(binary.BigEndian, 16, name) + if err != nil { + return 0, err + } return value.(uint16), err } func (pkt *Packet) Uint8(name string) (uint8, error) { value, err := pkt.readUint(binary.BigEndian, 8, name) + if err != nil { + return 0, err + } return value.(uint8), err }