No checks for address zero for the winners is done in the Distributor.sol contract.
In _distribute function of the Distributor.sol the checks for address zero for the winners array is not done. The contract attempts to transfer funds to the winners in the loop below:
But for every address inside the winners array the checks are not done if the address of the winner is address zero or not. This can transfer the funds to address zero easily as SafeERC20.sol does not check for that as well.
Here is a test that proves that [Successfull transfer]: [Test]
Contract Can Lost the funds.
Manual Review
Add the check inside the for loop of _distribute function to check for the address zero in every iteration. An example code:
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.