vm: reduce maximum stckitem size
To prevent possible DoS. Port the https://github.com/neo-project/neo-vm/pull/514, close #3170. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This commit is contained in:
parent
dbd647e3a6
commit
b0cdae4666
2 changed files with 2 additions and 2 deletions
|
@ -21,7 +21,7 @@ const (
|
|||
// MaxBigIntegerSizeBits is the maximum size of a BigInt item in bits.
|
||||
MaxBigIntegerSizeBits = 32 * 8
|
||||
// MaxSize is the maximum item size allowed in the VM.
|
||||
MaxSize = 1024 * 1024
|
||||
MaxSize = math.MaxUint16 * 2
|
||||
// MaxComparableNumOfItems is the maximum number of items that can be compared for structs.
|
||||
MaxComparableNumOfItems = MaxDeserialized
|
||||
// MaxClonableNumOfItems is the maximum number of items that can be cloned in structs.
|
||||
|
|
|
@ -383,7 +383,7 @@ func TestToJSONWithTypesBadCases(t *testing.T) {
|
|||
// until the necessary branch is covered #ididthemath.
|
||||
arr := NewArray([]Item{
|
||||
NewByteArray(bigBuf[:MaxSize/4*3-70]),
|
||||
NewBigInteger(big.NewInt(1234)),
|
||||
NewBigInteger(big.NewInt(123456)),
|
||||
})
|
||||
_, err := ToJSONWithTypes(arr)
|
||||
require.ErrorIs(t, err, errTooBigSize)
|
||||
|
|
Loading…
Reference in a new issue