mirror of https://github.com/crytic/slither
commit
540985d4bb
@ -0,0 +1,29 @@ |
|||||||
|
function protected(uint a, uint b) returns(uint){ |
||||||
|
return (a + b) * (a + b); |
||||||
|
} |
||||||
|
|
||||||
|
function not_protected_asm(uint a, uint b) returns(uint){ |
||||||
|
uint c; |
||||||
|
assembly{ |
||||||
|
c := mul(add(a,b), add(a,b)) |
||||||
|
} |
||||||
|
return c; |
||||||
|
} |
||||||
|
|
||||||
|
function not_protected_unchecked(uint a, uint b) returns(uint){ |
||||||
|
uint c; |
||||||
|
unchecked{ |
||||||
|
return (a + b) * (a + b); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
contract A{ |
||||||
|
|
||||||
|
function f(uint a, uint b) public{ |
||||||
|
protected(a,b); |
||||||
|
not_protected_asm(a, b); |
||||||
|
not_protected_unchecked(a, b); |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue