From 4473b85eb7aa96c13c4c726ea705076904237597 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sat, 15 Jun 2013 04:07:42 -0700 Subject: [PATCH] Fix crash bug on missing root. --- src/cpp/ripple/ripple_SHAMap.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cpp/ripple/ripple_SHAMap.cpp b/src/cpp/ripple/ripple_SHAMap.cpp index 1715668130..58badc3a25 100644 --- a/src/cpp/ripple/ripple_SHAMap.cpp +++ b/src/cpp/ripple/ripple_SHAMap.cpp @@ -769,8 +769,10 @@ bool SHAMap::fetchRoot(uint256 const& hash, SHAMapSyncFilter* filter) else WriteLog (lsTRACE, SHAMap) << "Fetch root SHAMap node " << hash; } - root = fetchNodeExternalNT(SHAMapNode(), hash); - if (!root) + Ledger::pointer newRoot = fetchNodeExternalNT(SHAMapNode(), hash); + if (newRoot) + root = newRoot; + else { Blob nodeData; if (!filter || !filter->haveNode(SHAMapNode(), hash, nodeData))