There are some unbounded loops that can lead to a Denial of Service (DoS) attack.
The the enterRaffle() function iterates through all players to check if any player is already registered (duplicate address). The function performs certain checks to add the player's address to the players array. However, with all these operations taking place, the loop and gas consumption may cause a contract revert due to exceeding the block's gas limit.
Players cannot enter the raffle, and the primary service of this contract will be denied.
Manual Review
To avoid this issue, limit the size of the players array.
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.