diff --git a/eth/tracers/internal/util.go b/eth/tracers/internal/util.go index 88a9f5db44..0fd3f870b3 100644 --- a/eth/tracers/internal/util.go +++ b/eth/tracers/internal/util.go @@ -69,6 +69,12 @@ func MemoryPtr(m []byte, offset, size int64) []byte { return nil } + if offset < 0 || size < 0 { + return nil + } + if offset+size > int64(len(m)) { + return nil + } if len(m) > int(offset) { return m[offset : offset+size] }