From 3c98070d43046ae258a282eea8d99d082d7d9062 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 ce800f13e4..2ac942aebd 100644 --- a/src/cpp/ripple/Pathfinder.cpp +++ b/src/cpp/ripple/Pathfinder.cpp @@ -425,7 +425,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) <<