Disallow codecopy and codesize in pure functions.

This commit is contained in:
Daniel Kirchner
2022-01-31 19:36:25 +01:00
parent 814e233b67
commit d6d286b39b
6 changed files with 12 additions and 2 deletions
@@ -1,7 +1,7 @@
contract C {
function f() public pure {
assembly {
switch codesize()
switch calldatasize()
case hex"00" {}
case hex"1122" {}
}
@@ -1,7 +1,7 @@
contract C {
function f() public pure {
assembly {
switch codesize()
switch calldatasize()
case "1" {}
case "2" {}
}
@@ -26,5 +26,11 @@ contract C {
function l() public view {
assembly { pop(extcodesize(0)) }
}
function m() public view {
assembly { codecopy(0,0,0) }
}
function n() public view {
assembly { pop(codesize()) }
}
}
// ----