The InheritanceManager::deadline
state variable is not initialized. While this does not immediately enable an attack, it leaves the contract in an uninitialized state until InheritanceManager::addBeneficiary
is called. This creates a temporary window of risk where the contract's inactivity period mechanism is not properly enforced. Additionally, if the owner forgets to call InheritanceManager::addBeneficiery
or delays it, the contract remains in an uninitialized state, which could lead to unintended behavior or mismanagement.
Update the setup in InheritanceManagerTest.t.sol
:
Place the test below in InheritanceManagerTest.t.sol
:
The contract remains uninitialized until addBeneficiery
is called, creating a window of risk where the inactivity period mechanism is not enforced.
Poor User Experience: The owner must manually call addBeneficiery
to initialize the contract.
Manual Review
Initialize the deadline
in the constructor to ensure the contract is fully initialized upon deployment:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.