util: add error check to Read/WriteVarUint

Fixes possibility of bogus reads/writes. Suggested by @im-kulikov.
This commit is contained in:
Roman Khimov 2019-08-29 13:24:03 +03:00
parent 15311f202b
commit 7b46f9bb86
2 changed files with 8 additions and 0 deletions

View file

@ -33,6 +33,10 @@ func (r *BinReader) ReadBE(v interface{}) {
// ReadVarUint reads a variable-length-encoded integer from the
// underlying reader
func (r *BinReader) ReadVarUint() uint64 {
if r.Err != nil {
return 0
}
var b uint8
r.Err = binary.Read(r.R, binary.LittleEndian, &b)