diff --git a/src/main.cpp b/src/main.cpp index 8ecfabba5..8bafdfb6a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4177,22 +4177,17 @@ bool static IsCanonicalBlockSignature(const CBlock* pblock) bool ProcessNewBlock(CValidationState& state, const CChainParams& chainparams, const CNode* pfrom, const CBlock* pblock, bool fForceProcessing, CDiskBlockPos* dbp, const uint256& hash) { - if (!IsCanonicalBlockSignature(pblock)) { - if (pfrom && pfrom->nVersion >= CANONICAL_BLOCK_SIG_VERSION) - return state.DoS(100, error("ProcessNewBlock(): bad block signature encoding"), - REJECT_INVALID, "bad-block-signature-encoding"); - return false; - } - // Preliminary checks - bool checked = CheckBlock(*pblock, state, hash); + if (!IsCanonicalBlockSignature(pblock)) { + if (pfrom && pfrom->nVersion >= CANONICAL_BLOCK_SIG_VERSION) + return state.DoS(100, error("ProcessNewBlock(): bad block signature encoding"), + REJECT_INVALID, "bad-block-signature-encoding"); + return false; + } { LOCK(cs_main); bool fRequested = MarkBlockAsReceived(hash); fRequested |= fForceProcessing; - if (!checked) { - return error("%s: CheckBlock FAILED", __func__); - } // Store to disk CBlockIndex *pindex = NULL;