slither
slither copied to clipboard
uninitialized-state-variables raised on mappings
The following high priority error has started showing up with [email protected] when running against the argent-contracts repo:
RecoveryManager.recoveryConfigs (modules/RecoveryManager.sol#47) is never initialized. It is used in:
LimitManager.limits (modules/common/LimitManager.sol#56) is never initialized. It is used in:
- LimitManager.init(address) (modules/common/LimitManager.sol#76-81)
- LimitManager.changeLimit(address,uint256,uint256) (modules/common/LimitManager.sol#92-102)
- LimitManager.getCurrentLimit(address) (modules/common/LimitManager.sol#119-122)
- LimitManager.getPendingLimit(address) (modules/common/LimitManager.sol#139-143)
- LimitManager.getDailyUnspent(address) (modules/common/LimitManager.sol#150-164)
- LimitManager.checkAndUpdateDailySpent(address,uint256) (modules/common/LimitManager.sol#172-182)
- LimitManager.updateDailySpent(address,uint128,uint256) (modules/common/LimitManager.sol#190-202)
- LimitManager.isWithinDailyLimit(address,uint256,uint256) (modules/common/LimitManager.sol#211-222)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-state-variables
Mappings are virtually instantiated by default so this must be a false positive.
Sharing another example for this issue:
https://github.com/PaulRBerg/prb-proxy/security/code-scanning/47
Hi, I'm using Slither 0.9.6 and uninitialized-state-variables is still raised on mappings