From 9dd5723061fff5eb8a54af581f11df3e469eada5 Mon Sep 17 00:00:00 2001 From: Haomai Wang Date: Wed, 13 Jan 2016 23:25:57 +0800 Subject: [PATCH] AsyncMessenger: fix end of iterator comparison Signed-off-by: Haomai Wang --- src/msg/async/AsyncMessenger.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/msg/async/AsyncMessenger.cc b/src/msg/async/AsyncMessenger.cc index 5eabde14c800..028bfc931ffd 100644 --- a/src/msg/async/AsyncMessenger.cc +++ b/src/msg/async/AsyncMessenger.cc @@ -741,7 +741,7 @@ void AsyncMessenger::learned_addr(const entity_addr_t &peer_addr_for_me) int AsyncMessenger::reap_dead(bool is_timer) { - int num; + int num = 0; Mutex::Locker l1(lock); Mutex::Locker l2(deleted_lock); @@ -751,7 +751,7 @@ int AsyncMessenger::reap_dead(bool is_timer) AsyncConnectionRef p = *it; ldout(cct, 5) << __func__ << " delete " << p << dendl; auto conns_it = conns.find(p->peer_addr); - if (conns_it->second == p) + if (conns_it != conns.end() && conns_it->second == p) conns.erase(conns_it); accepting_conns.erase(p); deleted_conns.erase(it); -- 2.47.3