We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
revert
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Slither doesn't remove the outgoing control flow edges from expression nodes that call revert functions, as it does with throw statement.
throw
pragma solidity 0.8.13; contract A { function test(uint a) external returns(bool) { if (a < 50) return true; revert("a greater than 50"); return false; } }
CFG:
The edge from revert node to return false node is wrong.
return false
0.9.2
No response
The text was updated successfully, but these errors were encountered:
Proposed fix PR: #1709
Sorry, something went wrong.
Successfully merging a pull request may close this issue.
Describe the issue:
Slither doesn't remove the outgoing control flow edges from expression nodes that call
revert
functions, as it does withthrow
statement.Code example to reproduce the issue:
CFG:

The edge from
revert
node toreturn false
node is wrong.Version:
0.9.2
Relevant log output:
No response
The text was updated successfully, but these errors were encountered: