From c87bdc91beb27dbf4d2869e72070eaf6ac8d1e22 Mon Sep 17 00:00:00 2001 From: Tnze Date: Sun, 26 Apr 2020 13:06:42 +0800 Subject: [PATCH] Add unit test for invalid long VarInt --- net/packet/packet_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/net/packet/packet_test.go b/net/packet/packet_test.go index 4324fa1..c278ece 100644 --- a/net/packet/packet_test.go +++ b/net/packet/packet_test.go @@ -39,6 +39,16 @@ func TestUnpackVarInt(t *testing.T) { } } +func TestUnpackVarInt_TooLongData(t *testing.T) { + var vi VarInt + var data = []byte{0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x01} + if err := vi.Decode(bytes.NewReader(data)); err != nil { + t.Logf("unpack \"% x\" error: %v", data, err) + } else { + t.Errorf("unpack \"% x\" should be error, get %d", data, vi) + } +} + var VarLongs = []VarLong{0, 1, 2, 127, 128, 255, 2147483647, 9223372036854775807, -1, -2147483648, -9223372036854775808} var PackedVarLongs = [][]byte{