From c90f834f7f2eda481352972600728284c7020581 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sat, 30 Jun 2012 18:59:38 -0700 Subject: [PATCH] Duh! This is the right fix for the bug Jed reported. --- src/SHAMapNodes.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/SHAMapNodes.cpp b/src/SHAMapNodes.cpp index af990f6b40..32d9b65d80 100644 --- a/src/SHAMapNodes.cpp +++ b/src/SHAMapNodes.cpp @@ -247,7 +247,10 @@ SHAMapTreeNode::SHAMapTreeNode(const SHAMapNode& id, const std::vector(s.getSHA512Half(), s.peekData()); mType = tnTRANSACTION; } - if (prefix == sHP_LeafNode) + else if (prefix == sHP_LeafNode) { uint256 u; s.get256(u, s.getLength() - 32); s.chop(32); if (u.isZero()) + { + Log(lsINFO) << "invalid PLN node"; throw std::runtime_error("invalid PLN node"); + } mItem = boost::make_shared(u, s.peekData()); mType = tnACCOUNT_STATE; } - if (prefix == sHP_InnerNode) + else if (prefix == sHP_InnerNode) { if (rawNode.size() != (512 + 4)) throw std::runtime_error("invalid PIN node"); @@ -277,7 +283,10 @@ SHAMapTreeNode::SHAMapTreeNode(const SHAMapNode& id, const std::vector