<!-- canonical: https://0xsimao.com/findings/ostium-disable-initializers-call-constructor -->

# Missing disableInitializers() call in the constructor

Low/Info · Three Sigma · RWA perpetuals DEX · 19th February, 2024

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

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

---

### Description

When using Initializable.sol, it's a good practice calling disableInitializers() in the
constructor, such that the implementation itself can't be initialized.

### Recommendation

Use:

```solidity
constructor() {
    _disableInitializers();
}
```

### Status

Addressed in [#1a1c899](https://github.com/0xOstium/smart-contracts-threeSigma/pull/58/commits/1a1c899f1c35d5a10a2868e60b2d3db8d4153879).

---

Related findings:

- [Missing `disableInitializers()` call in `StandardIDOPool::constructor()`](https://0xsimao.com/findings/blast-ido-pools-disable-initializers-standard-constructor): Blast IDO Pools
- [Initializable constracts should call _disableInitializers() in the constructor instead of using the initializer modifier](https://0xsimao.com/findings/mitosis-initializable-constracts-initializers-initializer): Mitosis
- [BRC20Factory constructor is missing a duplicate check](https://0xsimao.com/findings/orange-brc20-factory-constructor-duplicate): Orange Bridge
- [BaseAssetManager missing 0 address checks in the constructor](https://0xsimao.com/findings/singularity-asset-address-checks-constructor): Singularity
