The contract does zero address checks for almost all passed parameters. But there is no 0 address check for the addresses in the winners array. This can lead to the contract sending funds to unrecoverable addresses.
The contract does a 0 address check on the passed token variable in the _distribute function.
This check is also present in the FACTORY_ADDRESS and STADIUM_ADDRESS variables. However, no such check is present on the winners array. This can lead to the contract sending funds to unrecoverable addresses by mistake.
Funds sent to irrecoverable addresses.
Manual Review
Add a 0 address check for the winners 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.