]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
AsyncMessenger: fix end of iterator comparison
authorHaomai Wang <haomai@xsky.com>
Wed, 13 Jan 2016 15:25:57 +0000 (23:25 +0800)
committerHaomai Wang <haomai@xsky.com>
Wed, 13 Jan 2016 15:25:57 +0000 (23:25 +0800)
Signed-off-by: Haomai Wang <haomai@xsky.com>
src/msg/async/AsyncMessenger.cc

index 5eabde14c800f3fcabd0351b1605308d4b5963d8..028bfc931ffd2e7efb4f24eb7424020685dbf8f2 100644 (file)
@@ -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);