mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-15 00:01:18 +00:00
vm: fix errors not being returned
This commit is contained in:
parent
3bedcbf94d
commit
ade13daec1
@ -32,9 +32,9 @@ func (st *Stack) useGas(gasToUse uint64) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (st *Stack) setErr(err error) {
|
func (st *Stack) setErr(err error) {
|
||||||
if *st.err != nil {
|
//if *st.err != nil {
|
||||||
*st.err = err
|
*st.err = err
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (st *Stack) Push(d Word256) {
|
func (st *Stack) Push(d Word256) {
|
||||||
|
2
vm/vm.go
2
vm/vm.go
@ -659,7 +659,7 @@ func (vm *VM) call(caller, callee *Account, code, input []byte, value uint64, ga
|
|||||||
case RETURN: // 0xF3
|
case RETURN: // 0xF3
|
||||||
offset, size := stack.Pop64(), stack.Pop64()
|
offset, size := stack.Pop64(), stack.Pop64()
|
||||||
ret, ok := subslice(memory, offset, size, false)
|
ret, ok := subslice(memory, offset, size, false)
|
||||||
if !ok {
|
if !ok || err != nil {
|
||||||
return nil, firstErr(err, ErrMemoryOutOfBounds)
|
return nil, firstErr(err, ErrMemoryOutOfBounds)
|
||||||
}
|
}
|
||||||
dbg.Printf(" => [%v, %v] (%d) 0x%X\n", offset, size, len(ret), ret)
|
dbg.Printf(" => [%v, %v] (%d) 0x%X\n", offset, size, len(ret), ret)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user