The addresses or players that entered the raffle are added to players public array. The function getActivePlayerIndex returns the index of an address. If the address is not in players it returns 0.
This is a flawed logic since arrays are 0-indexed. There is no distinction between the first address in players and any address not in players.
There is no vulnerability since getActivePlayerIndex is not called by any other functions in the contract.
This will create confusion when trying to know if an address is registered in the raffle or not.
Manual testing
Multiple solutions exist although requires some light refactoring. Creating a mapping from addresses to boolean values to keep track of active players is one.
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.