]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
src/mon/MgrStatMonitor: fix invalid iterator increment in calc_pool_availability()
authorNitzan Mordechai <nmordech@redhat.com>
Wed, 21 May 2025 11:41:01 +0000 (11:41 +0000)
committerShraddha Agrawal <shraddha.agrawal000@gmail.com>
Thu, 26 Jun 2025 13:00:27 +0000 (18:30 +0530)
commitb8b70217760594e99f6a2c66b1c903e77af4a3fd
treea37176a4cceef663bd0c58af8101ea91254f2cac
parentfd748feaff1b7bdc85928d3ecfd8c01497744df5
src/mon/MgrStatMonitor: fix invalid iterator increment in calc_pool_availability()

Erasing entries from `pool_availability` inside a range-for
loop invalidated the hidden iterator, triggering an
“Invalid read” under Valgrind.

- Use `std::erase_if(pool_availability, predicate)` for
  atomic removal.
- Refactor the stats-update loop to use structured bindings
  and a clear `++it` for readability.

Fixes: https://tracker.ceph.com/issues/71271
Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
(cherry picked from commit 7369a4dded210d9410fb00e259d95df013532cc1)
src/mon/MgrStatMonitor.cc