From 7b14d2d44a37d98376b1583ee1be52b579a620bf Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Mon, 25 Feb 2013 20:28:20 -0800 Subject: [PATCH] Fig a bug in the way we traverse TaggedCaches and a similar bug in mPeerPositions. --- src/cpp/ripple/LedgerConsensus.cpp | 2 +- src/cpp/ripple/TaggedCache.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cpp/ripple/LedgerConsensus.cpp b/src/cpp/ripple/LedgerConsensus.cpp index 784ee068f..79fe9f945 100644 --- a/src/cpp/ripple/LedgerConsensus.cpp +++ b/src/cpp/ripple/LedgerConsensus.cpp @@ -728,7 +728,7 @@ void LedgerConsensus::updateOurPositions() cLog(lsWARNING) << "Removing stale proposal from " << peerID; BOOST_FOREACH(u256_lct_pair& it, mDisputes) it.second->unVote(peerID); - mPeerPositions.erase(it++); + it = mPeerPositions.erase(it); } else { // proposal is still fresh diff --git a/src/cpp/ripple/TaggedCache.h b/src/cpp/ripple/TaggedCache.h index 64842009e..c0990d0f3 100644 --- a/src/cpp/ripple/TaggedCache.h +++ b/src/cpp/ripple/TaggedCache.h @@ -152,7 +152,7 @@ template void TaggedCache::sweep if (cit->second.isExpired()) { ++mapRemovals; - mCache.erase(cit++); + cit = mCache.erase(cit); } else ++cit; @@ -165,7 +165,7 @@ template void TaggedCache::sweep if (cit->second.isExpired()) { ++mapRemovals; - mCache.erase(cit++); + cit = mCache.erase(cit); } else // remains weakly cached ++cit;