mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2025-05-03 01:41:48 +00:00
vm: restrict max size in NEWARRAY/NEWSTRUCT
This commit is contained in:
parent
85f7732d44
commit
8abcaeee6f
2 changed files with 26 additions and 4 deletions
|
@ -538,6 +538,14 @@ func TestNEWARRAYByteArray(t *testing.T) {
|
|||
assert.Equal(t, &ArrayItem{[]StackItem{}}, vm.estack.Pop().value)
|
||||
}
|
||||
|
||||
func TestNEWARRAYBadSize(t *testing.T) {
|
||||
prog := makeProgram(NEWARRAY)
|
||||
vm := load(prog)
|
||||
vm.estack.PushVal(MaxArraySize + 1)
|
||||
vm.Run()
|
||||
assert.Equal(t, true, vm.state.HasFlag(faultState))
|
||||
}
|
||||
|
||||
func TestNEWSTRUCTInteger(t *testing.T) {
|
||||
prog := makeProgram(NEWSTRUCT)
|
||||
vm := load(prog)
|
||||
|
@ -580,6 +588,14 @@ func TestNEWSTRUCTByteArray(t *testing.T) {
|
|||
assert.Equal(t, &StructItem{[]StackItem{}}, vm.estack.Pop().value)
|
||||
}
|
||||
|
||||
func TestNEWSTRUCTBadSize(t *testing.T) {
|
||||
prog := makeProgram(NEWSTRUCT)
|
||||
vm := load(prog)
|
||||
vm.estack.PushVal(MaxArraySize + 1)
|
||||
vm.Run()
|
||||
assert.Equal(t, true, vm.state.HasFlag(faultState))
|
||||
}
|
||||
|
||||
func TestAPPENDArray(t *testing.T) {
|
||||
prog := makeProgram(DUP, PUSH5, APPEND)
|
||||
vm := load(prog)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue