When the s_theListCheckedOnce
and s_theListCheckedTwice
are not initialized, the default value of the enum will be NICE
. It will bypass the validation rules in collectPresent
and earn the NFT.
Since the default value of enum type will be its first value in the enum structure. In this case, all the default mapping value will be NICE
. User bypasses the validation rules in collectPresent
since s_theListCheckedOnce[msg.sender] == Status.NICE
and s_theListCheckedTwice[msg.sender] == Status.NICE
. Users are able to mint and receive the NFT even though they should be marked naughty later.
Unintended amount of NFTs will be allocated.
Manual Review
Add a new type in the first element in Status
, such as UNINITIALIZED
.
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.