From: Casey Bodley Date: Fri, 22 May 2015 17:07:45 +0000 (-0400) Subject: xio: fix reuse of outer loop index in inner loop X-Git-Tag: v9.0.2~106^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F4750%2Fhead;p=ceph.git xio: fix reuse of outer loop index in inner loop Reported-by: Vu Pham Signed-off-by: Casey Bodley --- diff --git a/src/msg/xio/XioConnection.cc b/src/msg/xio/XioConnection.cc index 950ccfd47c1d..74a0620f00f2 100644 --- a/src/msg/xio/XioConnection.cc +++ b/src/msg/xio/XioConnection.cc @@ -520,8 +520,7 @@ int XioConnection::discard_input_queue(uint32_t flags) pthread_spin_unlock(&sp); // mqueue - int ix, q_size = disc_q.size(); - for (ix = 0; ix < q_size; ++ix) { + while (!disc_q.empty()) { Message::Queue::iterator q_iter = disc_q.begin(); Message* m = &(*q_iter); disc_q.erase(q_iter); @@ -529,8 +528,7 @@ int XioConnection::discard_input_queue(uint32_t flags) } // requeue - q_size = deferred_q.size(); - for (ix = 0; ix < q_size; ++ix) { + while (!deferred_q.empty()) { XioSubmit::Queue::iterator q_iter = deferred_q.begin(); XioSubmit* xs = &(*q_iter); XioMsg* xmsg; @@ -539,8 +537,7 @@ int XioConnection::discard_input_queue(uint32_t flags) xmsg = static_cast(xs); deferred_q.erase(q_iter); // release once for each chained xio_msg - for (ix = 0; ix < int(xmsg->hdr.msg_cnt); ++ix) - xmsg->put(); + xmsg->put(xmsg->hdr.msg_cnt); break; case XioSubmit::INCOMING_MSG_RELEASE: deferred_q.erase(q_iter);