If p is i->second.end(), we do want to back up a position, but we
shouldn't dereference p for p->first.
Fixes: http://tracker.ceph.com/issues/24486
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
2d7bfafa879ca1475173a74a84c66fd7f5e1b6bc)
}
auto p = i->second.lower_bound(oid);
if (p != i->second.begin() &&
- p->first > oid) {
+ (p == i->second.end() || p->first > oid)) {
--p;
}
if (p != i->second.end()) {