<!-- canonical: https://0xsimao.com/findings/more-markets-safe-approve-instead -->

# safeApprove() should be used instead of approve()

Low/Info · Three Sigma · Lending · 2nd December 2024

Finding 3S-MORE-N05 of the MORE Optimizer security review.

- Protocol: https://www.more.markets/
- Report: /reports/more-optimizer
- Source: https://github.com/0xsimao/audits/blob/main/Three%20Sigma/2024-12-02-more-markets.pdf

---

### Description

Some tokens do not return a bool on approval, so safeApprove() should be used.

### Recommendation

Consider replacing all instances of approve() by safeApprove(). Can be kept as is as the
current tokens work without issues.

### Status

Addressed in [#72adb3b](https://github.com/MoreLabsXYZ/MORE-Optimizers/commit/72adb3b88915c53b932a28d15a3d76cc2585e68d).

Disclosed by 0xSimao (https://0xsimao.com/).

---

Related findings:

- [safeApprove(...) reverts if approval is different than 0, use safeIncreaseAllowance(...) instead](https://0xsimao.com/findings/fuji-finance-approve-reverts-approval-allowance): Fuji Finance
- [Consider using forceApprove instead of safeApprove in OstiumTraidingCallbacks](https://0xsimao.com/findings/ostium-force-approve-traiding-callbacks): Ostium
