Static Analyzer for Solidity
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
slither/tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol

59 lines
999 B

// pragma solidity ^0.4.24;
contract Uninitialized{
address destination;
function transfer() payable public{
destination.transfer(msg.value);
}
}
contract Test {
mapping (address => uint) balances;
mapping (address => uint) balancesInitialized;
function init() {
balancesInitialized[msg.sender] = 0;
}
function use() {
// random operation to use the mapping
require(balances[msg.sender] == balancesInitialized[msg.sender]);
}
}
library Lib{
struct MyStruct{
uint val;
}
function set(MyStruct storage st, uint v){
st.val = 4;
}
}
contract Test2 {
using Lib for Lib.MyStruct;
Lib.MyStruct st;
Lib.MyStruct stinitialized;
uint v; // v is used as parameter of the lib, but is never init
function init(){
stinitialized.set(v);
}
function use(){
// random operation to use the structure
require(st.val == stinitialized.val);
}
}