core/vm: check for 'no code' before doing any work

This commit is contained in:
Felix Lange 2015-05-29 14:58:57 +02:00
parent ea2718c946
commit 48fb0c3213

View File

@ -71,6 +71,11 @@ func (self *Vm) Run(context *Context, callData []byte) (ret []byte, err error) {
} }
} }
// Don't bother with the execution if there's no code.
if len(code) == 0 {
return context.Return(nil), nil
}
var ( var (
op OpCode op OpCode
codehash = crypto.Sha3Hash(code) codehash = crypto.Sha3Hash(code)
@ -94,11 +99,6 @@ func (self *Vm) Run(context *Context, callData []byte) (ret []byte, err error) {
} }
) )
// Don't bother with the execution if there's no code.
if len(code) == 0 {
return context.Return(nil), nil
}
for { for {
// The base for all big integer arithmetic // The base for all big integer arithmetic
base := new(big.Int) base := new(big.Int)