<!-- canonical: https://0xsimao.com/findings/ostium-update-pair-missing-modifier -->

# updatePair() is missing the pairOk() modifier

Crit/High · Three Sigma · RWA perpetuals DEX · 19th February, 2024

Finding 3S-OS-M07 of the Ostium security review.

- Protocol: https://www.ostium.com/
- Report: /reports/ostium
- Source: https://cdn.sanity.io/files/qoqld077/production/a95b9c69e0f65d1d6b0e649f0d62a362358ca8ce.pdf

---

### Description

[OstiumPairsStorage::updatePair()](https://github.com/0xOstium/smart-contracts-threeSigma/blob/audit-feedback/src/OstiumPairsStorage.sol#L139) updates a pair's attribute but does not check the new
values.

### Recommendation

Add the [pairOk()](https://github.com/0xOstium/smart-contracts-threeSigma/blob/audit-feedback/src/OstiumPairsStorage.sol#L78) modifier to updatePair().

### Status

Addressed in [#7fe937e](https://github.com/0xOstium/smart-contracts-threeSigma/commit/7fe937e110b342c5cb414a01b1f679b765160c1e).

---

Related findings:

- [Inconsistent updateTotalAssets modifier usage](https://0xsimao.com/findings/yieldoor-ii-inconsistent-assets-modifier-usage): Yieldoor LoopedVault
- [Missing Update to `omnichain.totalAvailableLiquidationAmount` in `withdrawUser`](https://0xsimao.com/findings/autonomint-omnichain-available-liquidation-withdraw): Autonomint
