<!-- canonical: https://0xsimao.com/findings/blast-ido-pools-manage-round-meta-overriden -->

# Rounds in `IDOPoolAbstract::manageRoundToMetaIDO()` can be overriden

Low/Info · Three Sigma · IDO launchpad · 7th August, 2024

Finding L-2 of the Blast IDO Pools security review.

- Protocol: https://docs.blastup.io/blastup-docs
- Report: /reports/blast-ido-pools
- Source: https://cdn.sanity.io/files/qoqld077/production/d2a7ca81740e715b604122c12dafbce599e43f2f.pdf

---

### Description

`IDOPoolAbstract::manageRoundToMetaIDO()` does not check if `idoRoundClocks[roundId].parentMetaIdoId` has already been set, allowing it to be overriden and rounds to be linked to more than 1 `metaIDO` in the `metaIDO.roundIds` array. This has no impact as the `parentMetaIdoId` would be the latest one set to the `roundId`, but the arrays `metaIDO.roundIds` of several `metaIDO` could be polluted with the same `roundId`.

### Recommendation

Consider checking that `idoRoundClocks[roundId].parentMetaIdoId == 0` when `addRound == true`.
