functionCall() — Receiver Failure Silently AcceptedThunderLoan.sol
The flashloan() function calls receiverAddress.functionCall() to invoke executeOperation(), which returns bool. The return value is discarded. If a receiver signals failure by returning false, ThunderLoan treats it as successful.
Likelihood: Medium
Occurs when a receiver returns false to signal an error condition during the flash loan callback.
Impact: Medium
Failed flash loan operations are treated as successful, potentially causing unexpected state changes.
Severity: Medium
A receiver that encounters an internal error and returns false (as per the IFlashLoanReceiver interface convention) is treated identically to one returning true. The flash loan proceeds, the balance check is attempted, and if it passes, the loan completes despite the receiver indicating failure.
Decode and verify the return value:
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.