From e6c99a7ab9834d2ba74ea2d0f681e595b3f26fe8 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 21 Apr 2018 23:06:56 +0300 Subject: [PATCH] Split out no previndex from invalid prevblock --- src/main.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 03262b0fe..ca86aa5e9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4001,14 +4001,17 @@ bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state, CBloc } // Get prev block index CBlockIndex* pindexPrev = NULL; - if (hash != chainparams.GetConsensus().hashGenesisBlock) { + if (hash != chainparams.GetConsensus().hashGenesisBlock) + { BlockMap::iterator mi = mapBlockIndex.find(block.hashPrevBlock); if (mi == mapBlockIndex.end()) { return state.DoS(10, error("%s: prev block not found", __func__), 0, "bad-prevblk"); } pindexPrev = (*mi).second; - if (pindexPrev == 0 || (pindexPrev->nStatus & BLOCK_FAILED_MASK) ) + if (pindexPrev == 0 ) + return(false); + if ( (pindexPrev->nStatus & BLOCK_FAILED_MASK) ) return state.DoS(100, error("%s: prev block invalid", __func__), REJECT_INVALID, "bad-prevblk"); } if (!ContextualCheckBlockHeader(block, state, pindexPrev))