Puppy Raffle::refund()
function has a possible reentrancy vulnerability where , An attacker could deploy the above contract and then call the refund function, causing the malicious contract to execute code upon receiving Ether, effectively reentering the refund function and possibly reentering it multiple times , and therefore we should rearrange the code lines to prevent it from reentrancy.
If the playerindex is updated later after we refunded the amount , then the attacker could drain the fund.
Reentrancy
Manual Review
Update the players index before sending the amount
reentrancy in refund() function
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.