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

@ -32,6 +32,10 @@ func (w *BinWriter) WriteBE(v interface{}) {
// WriteVarUint writes a uint64 into the underlying writer using variable-length encoding
func (w *BinWriter) WriteVarUint(val uint64) {
if w.Err != nil {
return
}
if val < 0 {
w.Err = errors.New("value out of range")
return