The deployWithFactory function returns an address payable createdAccount, but when it is read from location 0x20 via assembly mload(add(returnData, 0x20)), the address might not be payable. Therefore, it is necessary to properly cast it to payable if the address is meant to receive Ether.
If the returned address is not payable, it will not be able to receive Ether. Since the function expects it to be payable, this discrepancy could lead to issues.
Given the context that createdAccount is expected to be payable, explicitly cast it to address payable to ensure it can receive Ether. Here’s the revised code:
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.