diff --git a/net/packet/types.go b/net/packet/types.go index c95dda4..cf2a1c7 100644 --- a/net/packet/types.go +++ b/net/packet/types.go @@ -277,10 +277,10 @@ func (v *VarInt) Decode(r DecodeReader) error { n |= uint32(sec&0x7F) << uint32(7*i) - if sec&0x80 == 0 { - break - } else if i > 5 { + if i >= 5 { return errors.New("VarInt is too big") + } else if sec&0x80 == 0 { + break } } @@ -316,10 +316,10 @@ func (v *VarLong) Decode(r DecodeReader) error { n |= uint64(sec&0x7F) << uint64(7*i) - if sec&0x80 == 0 { + if i >= 10 { + return errors.New("VarLong is too big") + } else if sec&0x80 == 0 { break - } else if i > 10 { - return errors.New("VarInt is too big") } }