aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-12-19 06:59:40 +0800
committerobscuren <geffobscura@gmail.com>2014-12-19 06:59:40 +0800
commit1e985f986569a68601b052c8949fc6f360e139d9 (patch)
treea3623bcc7201b9411d4943153333941080385f6f
parent4789084998553befa5db1bfe5a14881aa567cb9e (diff)
downloaddexon-1e985f986569a68601b052c8949fc6f360e139d9.tar
dexon-1e985f986569a68601b052c8949fc6f360e139d9.tar.gz
dexon-1e985f986569a68601b052c8949fc6f360e139d9.tar.bz2
dexon-1e985f986569a68601b052c8949fc6f360e139d9.tar.lz
dexon-1e985f986569a68601b052c8949fc6f360e139d9.tar.xz
dexon-1e985f986569a68601b052c8949fc6f360e139d9.tar.zst
dexon-1e985f986569a68601b052c8949fc6f360e139d9.zip
Fixed casting error
* big(bytes) == 0 when len(bytes) > 0
-rw-r--r--vm/vm_debug.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/vm/vm_debug.go b/vm/vm_debug.go
index d78aff4ce..708aada5b 100644
--- a/vm/vm_debug.go
+++ b/vm/vm_debug.go
@@ -181,11 +181,12 @@ func (self *DebugVm) Run(me, caller ClosureRef, code []byte, value, gas, price *
var mult *big.Int
y, x := stack.Peekn()
- val := closure.GetStorage(x)
- if val.BigInt().Cmp(ethutil.Big0) == 0 && len(y.Bytes()) > 0 {
+ //val := closure.GetStorage(x)
+ val := statedb.GetState(closure.Address(), x.Bytes())
+ if len(val) == 0 && len(y.Bytes()) > 0 {
// 0 => non 0
mult = ethutil.Big3
- } else if val.BigInt().Cmp(ethutil.Big0) != 0 && len(y.Bytes()) == 0 {
+ } else if len(val) > 0 && len(y.Bytes()) == 0 {
statedb.Refund(caller.Address(), GasSStoreRefund)
mult = ethutil.Big0