]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
src/mon/MgrStatMonitor: fix invalid iterator increment in calc_pool_availability() 63398/head
authorNitzan Mordechai <nmordech@redhat.com>
Wed, 21 May 2025 11:41:01 +0000 (11:41 +0000)
committerNitzan Mordechai <nmordech@redhat.com>
Mon, 23 Jun 2025 05:16:16 +0000 (05:16 +0000)
commit7369a4dded210d9410fb00e259d95df013532cc1
tree45b79f206a947be1acc6405143439d6d5eead7be
parent04ae51723f3e64a68dd5544dcfada15cd3d45c48
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 <nmordec@redhat.com>
src/mon/MgrStatMonitor.cc