From 933aa63b7d302cff4287ba2814f3bd0f7744ed8e Mon Sep 17 00:00:00 2001 From: obscuren Date: Thu, 19 Jun 2014 21:41:37 +0200 Subject: [PATCH] Length check on get --- ethchain/stack.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ethchain/stack.go b/ethchain/stack.go index 37d1f84b9..a9fa2e522 100644 --- a/ethchain/stack.go +++ b/ethchain/stack.go @@ -2,7 +2,7 @@ package ethchain import ( "fmt" - _ "github.com/ethereum/eth-go/ethutil" + "math" "math/big" ) @@ -118,7 +118,13 @@ func (m *Memory) Resize(size uint64) { } func (m *Memory) Get(offset, size int64) []byte { - return m.store[offset : offset+size] + if len(m.store) > int(offset) { + end := int(math.Min(float64(len(m.store)), float64(offset+size))) + + return m.store[offset:end] + } + + return nil } func (m *Memory) Len() int {