From 3f3374d1d85da1e73810efaa8fe0f2395b9aadf9 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 7 Apr 2013 21:55:20 -0700 Subject: [PATCH] This is the correct fix. --- src/cpp/ripple/Pathfinder.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cpp/ripple/Pathfinder.cpp b/src/cpp/ripple/Pathfinder.cpp index 2b124330eb..e9025e0e86 100644 --- a/src/cpp/ripple/Pathfinder.cpp +++ b/src/cpp/ripple/Pathfinder.cpp @@ -423,7 +423,8 @@ bool Pathfinder::findPaths(const unsigned int iMaxSteps, const unsigned int iMax // wrong currency nothing(); } - else if (spPath.hasSeen(uPeerID, speEnd.mCurrencyID, uPeerID) && (uPeerID != mSrcAccountID)) + else if (spPath.hasSeen(uPeerID, speEnd.mCurrencyID, uPeerID) || + ((uPeerID == mSrcAccountID) && (uPeerID != mDstAccountID))) { // Peer is in path already. Ignore it to avoid a loop. cLog(lsTRACE) <<