solidity/test/libsolidity/smtCheckerTests/external_calls/external_hash_known_code_state_reentrancy_unsafe.sol

40 lines
725 B
Solidity
Raw Normal View History

pragma experimental SMTChecker;
contract State {
uint x;
C c;
function f() public returns (uint) {
c.setOwner(address(0));
return c.g();
}
}
contract C {
address owner;
uint y;
State s;
2020-06-23 12:14:24 +00:00
constructor() {
owner = msg.sender;
}
function setOwner(address _owner) public {
owner = _owner;
}
function f() public {
address prevOwner = owner;
uint z = s.f();
assert(z == y);
assert(prevOwner == owner);
}
function g() public view returns (uint) {
return y;
}
}
// ----
2020-07-23 10:58:15 +00:00
// Warning 6328: (381-395): Assertion violation happens here
// Warning 6328: (399-425): Assertion violation happens here
// Warning 5084: (116-126): Type conversion is not yet fully supported and might yield false positives.