From c9de0fbd29ad4559d64a467b68fdd1906bd34671 Mon Sep 17 00:00:00 2001 From: coffeepots Date: Thu, 16 Aug 2018 20:19:53 +0100 Subject: [PATCH] Reduce range of cleanMemRef --- nimbus/vm/interpreter/opcodes_impl.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nimbus/vm/interpreter/opcodes_impl.nim b/nimbus/vm/interpreter/opcodes_impl.nim index 407fad8a2..e7bceb8c0 100644 --- a/nimbus/vm/interpreter/opcodes_impl.nim +++ b/nimbus/vm/interpreter/opcodes_impl.nim @@ -235,9 +235,10 @@ proc writePaddedResult(mem: var Memory, func cleanMemRef(x: UInt256): int {.inline.} = ## Sanitize memory addresses, catch negative or impossibly big offsets # See https://github.com/status-im/nimbus/pull/97 for more info - const upperBound = high(int32).u256 + # For rational on shr, see https://github.com/status-im/nimbus/pull/101 + const upperBound = (high(int32) shr 2).u256 if x > upperBound: - return high(int32) + return high(int32) shr 2 return x.toInt op address, inline = true: