From: Haomai Wang Date: Wed, 13 Jan 2016 15:25:57 +0000 (+0800) Subject: AsyncMessenger: fix end of iterator comparison X-Git-Tag: v10.0.3~29^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9dd5723061fff5eb8a54af581f11df3e469eada5;p=ceph.git AsyncMessenger: fix end of iterator comparison Signed-off-by: Haomai Wang --- 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);