PuppyRaffle::refund function is not following CEI pattern to transfer the funds to players, a malicious actor could do reentrancy and steal all the funds.
PuppyRaffle::refund function transferring the funds using sendValue first and then updating the player address to zero.
Could lose all the funds from contract.
Manual Review
Follow CEI pattern or use a reentrancy guard provided by openzepplin library.
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.