mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Fix create2 memory access in yul interpreter.
This commit is contained in:
parent
f808855329
commit
69d9869d21
13
test/libyul/yulInterpreterTests/create2.yul
Normal file
13
test/libyul/yulInterpreterTests/create2.yul
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
pop(create2(0, 0, 32, 32))
|
||||
// This used to store 64
|
||||
sstore(0, msize())
|
||||
}
|
||||
// ====
|
||||
// EVMVersion: >=constantinople
|
||||
// ----
|
||||
// Trace:
|
||||
// CREATE2(0, 0, 32, 32)
|
||||
// Memory dump:
|
||||
// Storage dump:
|
||||
// 0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000000000000000000000000000000000020
|
@ -317,7 +317,7 @@ u256 EVMInstructionInterpreter::eval(
|
||||
logTrace(_instruction, arg);
|
||||
return (0xcccccc + arg[1]) & u256("0xffffffffffffffffffffffffffffffffffffffff");
|
||||
case Instruction::CREATE2:
|
||||
accessMemory(arg[2], arg[3]);
|
||||
accessMemory(arg[1], arg[2]);
|
||||
logTrace(_instruction, arg);
|
||||
return (0xdddddd + arg[1]) & u256("0xffffffffffffffffffffffffffffffffffffffff");
|
||||
case Instruction::CALL:
|
||||
|
Loading…
Reference in New Issue
Block a user