diff --git a/src/validation.cpp b/src/validation.cpp index db4344f4f..4e8accc07 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -3984,7 +3984,9 @@ std::vector GenerateCoinbaseCommitment(CBlock& block, const CBloc bool ContextualCheckBlockHeader(const CBlockHeader& block, CValidationState& state, const Consensus::Params& consensusParams, const CBlockIndex* pindexPrev, int64_t nAdjustedTime) { - const int nHeight = pindexPrev == NULL ? 0 : pindexPrev->nHeight + 1; + assert(pindexPrev != NULL); + const int nHeight = pindexPrev->nHeight + 1; + // Check proof of work if (!CheckChallenge(block, *pindexPrev, consensusParams)) return state.DoS(100, false, REJECT_INVALID, "bad-diffbits", false, "incorrect proof of work"); @@ -3994,7 +3996,7 @@ bool ContextualCheckBlockHeader(const CBlockHeader& block, CValidationState& sta return state.Invalid(false, REJECT_INVALID, "time-too-old", "block's timestamp is too early"); // Check height in header against prev - if ((uint32_t)pindexPrev->nHeight + 1 != block.nHeight) + if ((uint32_t)nHeight != block.nHeight) return state.Invalid(error("%s: block height in header is incorrect", __func__), REJECT_INVALID, "bad-header-height");