The checkLog
function incorrectly verifies whether a swap request's deadline has expired. The current condition uses <
(strictly less than), which does not account for cases where block.timestamp
is exactly equal to request.deadline
. This could lead to an unintended execution of expired requests in edge cases.
The function checks whether request.deadline < block.timestamp
before rejecting an expired request.
If request.deadline == block.timestamp
, the request is still considered valid, even though it should be expired.
This can lead to race conditions where a request that has technically reached its deadline is still processed.
Unintended execution of expired swap requests, potentially causing transactions to be processed when they should have been rejected.
Increased risk of stale or invalid trades, as users may exploit the narrow execution window to bypass intended constraints.
Could introduce inconsistencies in swap request handling, leading to unexpected results in the system.
Manual Review
Modify the deadline comparison to use <=
instead of <
:
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.