From f9fad186080547a19fb3cc0f663763769b0830e5 Mon Sep 17 00:00:00 2001 From: flozilla Date: Wed, 15 Nov 2017 10:02:23 +0000 Subject: [PATCH] blockchain_db: sanity check on tx/hash vector sizes It could trip on a corrupt/crafted file if the user has disabled input verification. --- src/blockchain_db/blockchain_db.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/blockchain_db/blockchain_db.cpp b/src/blockchain_db/blockchain_db.cpp index c3f6e3d87..2fb43a4ba 100644 --- a/src/blockchain_db/blockchain_db.cpp +++ b/src/blockchain_db/blockchain_db.cpp @@ -194,6 +194,10 @@ uint64_t BlockchainDB::add_block( const block& blk , const std::vector& txs ) { + // sanity + if (blk.tx_hashes.size() != txs.size()) + throw new std::runtime_error("Inconsistent tx/hashes sizes"); + block_txn_start(false); TIME_MEASURE_START(time1);