diff --git a/src/cpp/ripple/SHAMapSync.cpp b/src/cpp/ripple/SHAMapSync.cpp index 8d36c8f347..13c482f21e 100644 --- a/src/cpp/ripple/SHAMapSync.cpp +++ b/src/cpp/ripple/SHAMapSync.cpp @@ -72,14 +72,17 @@ void SHAMap::getMissingNodes(std::vector& nodeIDs, std::vectorisInner() && !d->isFullBelow()) // we might need children of this node + { + have_all = false; stack.push(d); + } } } if (have_all) @@ -124,7 +127,10 @@ std::vector SHAMap::getNeededHashes(int max) SHAMapTreeNode* d = getNodePointer(childID, childHash); assert(d); if (d->isInner() && !d->isFullBelow()) + { + have_all = false; stack.push(d); + } } catch (SHAMapMissingNode&) { // node is not in the map