vm: check ByteArray size before converting to Integer
This commit is contained in:
parent
8f5f6fba07
commit
ee9adcdc5c
1 changed files with 2 additions and 3 deletions
|
@ -524,11 +524,10 @@ func (i *ByteArrayItem) TryBytes() ([]byte, error) {
|
|||
|
||||
// TryInteger implements StackItem interface.
|
||||
func (i *ByteArrayItem) TryInteger() (*big.Int, error) {
|
||||
bi := emit.BytesToInt(i.value)
|
||||
if bi.BitLen() > MaxBigIntegerSizeBits {
|
||||
if len(i.value) > MaxBigIntegerSizeBits/8 {
|
||||
return nil, errors.New("integer is too big")
|
||||
}
|
||||
return bi, nil
|
||||
return emit.BytesToInt(i.value), nil
|
||||
}
|
||||
|
||||
// Equals implements StackItem interface.
|
||||
|
|
Loading…
Reference in a new issue