From 408fe4ec28fbb822c5e82634a711d91cd57f4a35 Mon Sep 17 00:00:00 2001 From: wowario Date: Wed, 16 Jun 2021 22:43:02 +0300 Subject: [PATCH] sanity checks --- src/cryptonote_core/blockchain.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index 0fd430cc5..6f2e7f00d 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -1386,6 +1386,17 @@ bool Blockchain::prevalidate_miner_transaction(const block& b, uint64_t height, // Miner Block Header Signing if (hf_version >= BLOCK_HEADER_MINER_SIG) { + // sanity checks + if (b.miner_tx.vout.size() != 1) + { + MWARNING("Only 1 output in miner transaction allowed"); + return false; + } + if (b.miner_tx.vout[0].target.type() != typeid(txout_to_key)) + { + MWARNING("Wrong txout type"); + return false; + } // keccak hash block header data and check miner signature // if signature is invalid, reject block crypto::hash sig_data = get_sig_data(b);