SantasList::checkTwice can be executed before SantasList::checkTwice
If Santa calls SantasList::checkTwice with a NICE status for a user, this transaction will pass, although SantasList::checkList was never called before.
SantasList::checkTwice validates if SantasList::s_theListCheckedOnce mapping has the same status that is given in the function execution. But the default value in the mappings is NICE.
MEDIUM as the function can only be called by Santa anyways.
Manual Review
Update the default value of the enum Status from NICE to NAUGHTY.
In Solidity the first element of an enum is the default value. In Santa's List, the means each person is mapped by default to 'NICE'.
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.