diff --git a/pkg/trie/trie.go b/pkg/trie/trie.go index 3313a2e..ca80248 100644 --- a/pkg/trie/trie.go +++ b/pkg/trie/trie.go @@ -85,11 +85,11 @@ func ReadSleb128(r *bytes.Reader) (int64, error) { // If high order bit is 1. if (b & 0x80) == 0 { - break - } + if (shift < 64) && ((b & 0x40) > 0) { + result |= -(1 << shift) + } - if (shift < 64) && ((b & 0x40) > 0) { - result |= -(1 << shift) + break } }