During increaseValuesOfParticipants, only selectedRam is set to the winner's address and isRamSelected is not set to true. This allows selectedRam to be overwritten, and creates a temporary DOS to Dussehra::killRavana and Dussehra::withdraw.
When all characteristics are set, only selectedRam is set to the winner's address and isRamSelected is not set to true.
Due to isRamSelected not being set to true, subsequent calls to increaseValuesOfParticipants are allowed (since the RamIsNotSelected modifier passes), overwriting selectedRam. This is unintended behavior.
Furthermore, a DOS occurs in Dussehra::killRavana and Dussehra::withdraw since the RamIsSelected modifier is unable to pass. This DOS persists until the organiser is able to call ChoosingRam::selectRamIfNotSelected which does set isRamSelected to true. However, this also overwrites selectedRam.
Manual Review
When setting selectedRam, also set isRamSelected to true during increaseValuesOfParticipants calls.
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.