The withdraw() function only withdraws the ERC20 tokens from the contract to the host. It needs to also withdraw the Ether deposited by users as funds for the Christmas dinner.
Since there's no other way to withdraw the ether to the host, The ether in the contract is kinda 'stuck' for the host. So they don't get the entirity of the funds for the Chritmas Dinner.
Manual Review
Make the host wallet address payable and send the contract ether as well.
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.