crytic / crytic/slither

Add support for reentrancy on external state variable change

Open
#934 0 comments 0 reactions 0 assignees View on GitHub
new detector
Dominant language
Python
Stars
6.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

Example:

```solidity
contract A{

uint public my_var = 0;

function increase() public{
// require msg.sender == C, assuming we know C
my_var += 1;
}

}

interface B{

function some_callback() external returns(uint);

}

contract C{

function buggy(A a, B b, uint v) public{
require(a.my_var() == 0);

b.some_callback();

a.increase(); // assumption that my_var == 0

}

}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.