mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 10:38:42 +01:00
[block encodings] Avoid fuzz blocking asserts in PartiallyDownloadedBlock
This commit is contained in:
parent
1429f83770
commit
42bd4c7468
@ -52,7 +52,8 @@ ReadStatus PartiallyDownloadedBlock::InitData(const CBlockHeaderAndShortTxIDs& c
|
||||
if (cmpctblock.shorttxids.size() + cmpctblock.prefilledtxn.size() > MAX_BLOCK_WEIGHT / MIN_SERIALIZABLE_TRANSACTION_WEIGHT)
|
||||
return READ_STATUS_INVALID;
|
||||
|
||||
assert(header.IsNull() && txn_available.empty());
|
||||
if (!header.IsNull() || !txn_available.empty()) return READ_STATUS_INVALID;
|
||||
|
||||
header = cmpctblock.header;
|
||||
txn_available.resize(cmpctblock.BlockTxCount());
|
||||
|
||||
@ -167,14 +168,18 @@ ReadStatus PartiallyDownloadedBlock::InitData(const CBlockHeaderAndShortTxIDs& c
|
||||
return READ_STATUS_OK;
|
||||
}
|
||||
|
||||
bool PartiallyDownloadedBlock::IsTxAvailable(size_t index) const {
|
||||
assert(!header.IsNull());
|
||||
bool PartiallyDownloadedBlock::IsTxAvailable(size_t index) const
|
||||
{
|
||||
if (header.IsNull()) return false;
|
||||
|
||||
assert(index < txn_available.size());
|
||||
return txn_available[index] != nullptr;
|
||||
}
|
||||
|
||||
ReadStatus PartiallyDownloadedBlock::FillBlock(CBlock& block, const std::vector<CTransactionRef>& vtx_missing) {
|
||||
assert(!header.IsNull());
|
||||
ReadStatus PartiallyDownloadedBlock::FillBlock(CBlock& block, const std::vector<CTransactionRef>& vtx_missing)
|
||||
{
|
||||
if (header.IsNull()) return READ_STATUS_INVALID;
|
||||
|
||||
uint256 hash = header.GetHash();
|
||||
block = header;
|
||||
block.vtx.resize(txn_available.size());
|
||||
|
Loading…
Reference in New Issue
Block a user