In the ChristmasDinner::withdrawfunction it only sweeps the ERC20 tokens and not ETH effectively locking the ETH in the contract after the deadline passes.
When participants deposit ETH, the host has no way to withdraw it making the contract not working as it should and putting funds at risk. Once the deadline passes, there’s no method to recover that ETH at all, since refunds are only possible before the deadline.
Manual code review
Add this line to the withdraw function:
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.