mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Maintain disambiguation when generating new functions in StackToMemoryMover.
This commit is contained in:
committed by
hrkrshnn
parent
17d69e2b99
commit
c341445f8e
@@ -0,0 +1,38 @@
|
||||
{
|
||||
{
|
||||
mstore(0x40, memoryguard(0x80))
|
||||
sstore(0, f(1,2,3))
|
||||
}
|
||||
function f(a, b, c) -> $b1 {
|
||||
if calldataload(add(sub(a,b),c)) {
|
||||
$b1 := 0
|
||||
leave
|
||||
}
|
||||
$b1 := 1
|
||||
}
|
||||
|
||||
}
|
||||
// ----
|
||||
// step: fakeStackLimitEvader
|
||||
//
|
||||
// {
|
||||
// {
|
||||
// mstore(0x40, memoryguard(0xa0))
|
||||
// sstore(0, f(1, 2, 3))
|
||||
// }
|
||||
// function f(a_2, b_3, c_4) -> $b1
|
||||
// {
|
||||
// mstore(0x80, 0)
|
||||
// f_1(a_2, b_3, c_4)
|
||||
// $b1 := mload(0x80)
|
||||
// }
|
||||
// function f_1(a, b, c)
|
||||
// {
|
||||
// if calldataload(add(sub(a, b), c))
|
||||
// {
|
||||
// mstore(0x80, 0)
|
||||
// leave
|
||||
// }
|
||||
// mstore(0x80, 1)
|
||||
// }
|
||||
// }
|
||||
Reference in New Issue
Block a user