The refund() function is not handling the revert case when sending ether to the msg.sender using sendValue which when reverts
In this line of code, the refund function is sending the ether to the msg.sender which might be a contract when reverts doesn't execute the contract further.
When handing over the control to the msg.sender, the contract is not handling the revert case which stops the execution of the contrat when reverted.
vscode
Use call to send ether to other contracts which is the recommended way of sending ether to other contracts as follows,
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.