deadlineSet in ChristmasDinner.sol is never actually set to true within setDeadline(), even though the code checks it to block multiple deadline assignments. This oversight allows the host to call setDeadline() repeatedly, effectively resetting the deadline multiple times.
The deadlineSet boolean exists to ensure the deadline can only be set once. However, because there is no deadlineSet = true in the function body, this check never becomes effective. Multiple calls to setDeadline() always succeed.
Repeated Deadline Changes: The host can repeatedly postpone or change the event deadline, undermining the contract’s central premise of a single, immutable planning date.
Business Logic Violation: Attendees might not trust the contract if the host can shift deadlines at will, reducing the credibility of the “no-backsies” approach.
Manual review, foundry
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.