Player can pay multiple times in ThePredicter::register
when not supposed to. If the player is approved, the player can call ThePredicter::register
and pay again which leads to the player getting status PENDING again.
Even if this is not necessarily a security hole, the player can lose money by calling this function by mistake. Not to mention, the player gets its status set to Pending again even when added/approved as a player.
Low
Code inspection
Add a check so Approved players cannot register again:
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.