aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-01-09 22:30:46 +0800
committerobscuren <geffobscura@gmail.com>2015-01-09 22:30:46 +0800
commit5c8c0ae04e83389e3b97c527c11c819f219e344d (patch)
tree578bc669f32be75e6ec93923c9cb92aec1587b3c
parentf9b0d1a8e738a207e6101b27b667ea390def9f69 (diff)
downloaddexon-5c8c0ae04e83389e3b97c527c11c819f219e344d.tar
dexon-5c8c0ae04e83389e3b97c527c11c819f219e344d.tar.gz
dexon-5c8c0ae04e83389e3b97c527c11c819f219e344d.tar.bz2
dexon-5c8c0ae04e83389e3b97c527c11c819f219e344d.tar.lz
dexon-5c8c0ae04e83389e3b97c527c11c819f219e344d.tar.xz
dexon-5c8c0ae04e83389e3b97c527c11c819f219e344d.tar.zst
dexon-5c8c0ae04e83389e3b97c527c11c819f219e344d.zip
Fixed size 0 bug
-rw-r--r--vm/stack.go4
-rw-r--r--vm/vm_debug.go2
2 files changed, 5 insertions, 1 deletions
diff --git a/vm/stack.go b/vm/stack.go
index b9eaa10cd..f20470db3 100644
--- a/vm/stack.go
+++ b/vm/stack.go
@@ -152,6 +152,10 @@ func (m *Memory) Get(offset, size int64) []byte {
}
func (self *Memory) Geti(offset, size int64) (cpy []byte) {
+ if size == 0 {
+ return nil
+ }
+
if len(self.store) > int(offset) {
cpy = make([]byte, size)
copy(cpy, self.store[offset:offset+size])
diff --git a/vm/vm_debug.go b/vm/vm_debug.go
index 92e4154e4..656487c9b 100644
--- a/vm/vm_debug.go
+++ b/vm/vm_debug.go
@@ -34,7 +34,7 @@ func NewDebugVm(env Environment) *DebugVm {
lt = LogTyDiff
}
- return &DebugVm{env: env, logTy: lt, Recoverable: true}
+ return &DebugVm{env: env, logTy: lt, Recoverable: false}
}
func (self *DebugVm) Run(me, caller ContextRef, code []byte, value, gas, price *big.Int, callData []byte) (ret []byte, err error) {