|
|
|
@ -69,15 +69,14 @@ def _symbolic_call(call, state, address, statespace): |
|
|
|
|
|
|
|
|
|
if m: |
|
|
|
|
idx = m.group(1) |
|
|
|
|
func = statespace.find_storage_write(state.environment.active_account.address, idx) |
|
|
|
|
|
|
|
|
|
func = statespace.find_storage_write(state.environment.active_account.address, idx) |
|
|
|
|
if func: |
|
|
|
|
issue.description = "This contract delegates execution to a contract address in storage slot " + str( |
|
|
|
|
idx) + ". This storage slot can be written to by calling the function `" + func + "`. " |
|
|
|
|
|
|
|
|
|
if (func): |
|
|
|
|
issue.description = "This contract delegates execution to a contract address in storage slot " + str( |
|
|
|
|
idx) + ". This storage slot can be written to by calling the function `" + func + "`. " |
|
|
|
|
|
|
|
|
|
else: |
|
|
|
|
logging.debug("[DELEGATECALL] No storage writes to index " + str(idx)) |
|
|
|
|
else: |
|
|
|
|
logging.debug("[DELEGATECALL] No storage writes to index " + str(idx)) |
|
|
|
|
|
|
|
|
|
issue.description += "Be aware that the called contract gets unrestricted access to this contract's state." |
|
|
|
|
return [issue] |
|
|
|
|