The contract uses Solidity's transfer
method to send Ether, which can lead to issues due to the fixed gas stipend.
withdrawFees
Function (Line 148):
Potential Failure of Ether Transfer:
The transfer
function forwards a fixed amount of 2300 gas to the recipient.
If the owner address is a contract with complex logic in its receive
or fallback
function, the gas may be insufficient, causing the transfer to fail.
Loss of Funds Accessibility:
If the transfer fails, the Ether remains locked in the contract until a successful withdrawal is possible.
Use call
Method for Transfers:
Replace transfer
with call
to forward all available gas and handle the transfer success status.
Implement Pull Payments:
Instead of pushing Ether to the owner, allow the owner to withdraw funds by calling a function, adhering to the pull payment pattern.
Ensure Proper Error Handling:
Handle cases where the transfer fails gracefully, possibly with retries or alternative mechanisms.
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.