All 3 governance functions, setLenderFee, setBorrowerFee and setFeeReceiver miss zero input checks, which could lead to configuring both the fees to 0 or the feeReceiver to address(0), thus losing revenue. Moreover in Ownable.sol the function transferOwnership should also include an if statement to prevent accidental transfer of ownership to zero address. Such an ownership transfer would render all the governance part of the contract useless.
Lack of input validation can lead to the accidental setting of the lenderFee and borrowerFee to 0 and the feeReceiver and the contract owner to address(0).
Loss of revenue and loss of access to governance functions.
Manual review
Insert zero input checks in the following places:
In Ownable.sol: (please take a look at OZ's implementation available at Link 3)
In Errors.sol:
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.