mirror of
https://github.com/tendermint/tendermint.git
synced 2026-07-29 11:32:56 +00:00
Fix bug in merkle/iavl_proof; TODO maybe read zero length slices as nil?
This commit is contained in:
+11
-3
@@ -1,6 +1,10 @@
|
||||
package binary
|
||||
|
||||
import "io"
|
||||
import (
|
||||
"io"
|
||||
|
||||
. "github.com/tendermint/tendermint/common"
|
||||
)
|
||||
|
||||
// String
|
||||
|
||||
@@ -14,8 +18,12 @@ func ReadString(r io.Reader, n *int64, err *error) string {
|
||||
if *err != nil {
|
||||
return ""
|
||||
}
|
||||
if MaxBinaryReadSize < *n+int64(length) {
|
||||
*err = ErrMaxBinaryReadSizeReached
|
||||
if length < 0 {
|
||||
*err = ErrBinaryReadSizeUnderflow
|
||||
return ""
|
||||
}
|
||||
if MaxBinaryReadSize < MaxInt64(int64(length), *n+int64(length)) {
|
||||
*err = ErrBinaryReadSizeOverflow
|
||||
return ""
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user