From 8314daee83dc7743fc8d49f9ffc24272793485ac Mon Sep 17 00:00:00 2001 From: Jianping Wu Date: Mon, 1 Apr 2019 21:57:24 -0700 Subject: [PATCH] Made sure major_version of Cryptonote header is correct. --- src/validation.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/validation.cpp b/src/validation.cpp index 559e2db0d..8097630e7 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -3038,6 +3038,10 @@ static bool FindUndoPos(CValidationState &state, int nFile, CDiskBlockPos &pos, static bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, const Consensus::Params& consensusParams, bool fCheckPOW = true) { + if (block.cnHeader.major_version != consensusParams.GetCryptonoteMajorVersion()) { + return state.Invalid(false, 0, "incorrect-major-version", "Cryptonote major version incorrect"); + } + // Check proof of work matches claimed amount if (fCheckPOW && !CheckProofOfWork(block.GetPoWHash(), block.nBits, consensusParams)) return state.DoS(50, false, REJECT_INVALID, "high-hash", false, "proof of work failed");