Skip to content

Commit

Permalink
fuzz: Avoid timeout in utxo_total_supply
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcoFalke committed May 30, 2023
1 parent f467b28 commit fafb4da
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions src/test/fuzz/utxo_total_supply.cpp
Expand Up @@ -119,7 +119,9 @@ FUZZ_TARGET(utxo_total_supply)
current_block = PrepareNextBlock();
StoreLastTxo();

LIMITED_WHILE(fuzzed_data_provider.remaining_bytes(), 100'000)
// Limit to avoid timeout, but enough to cover duplicate_coinbase_height
// and CVE-2018-17144.
LIMITED_WHILE(fuzzed_data_provider.remaining_bytes(), 2'000)
{
CallOneOf(
fuzzed_data_provider,
Expand All @@ -142,14 +144,14 @@ FUZZ_TARGET(utxo_total_supply)
node::RegenerateCommitments(*current_block, chainman);
const bool was_valid = !MineBlock(node, current_block).IsNull();

if (duplicate_coinbase_height == ActiveHeight()) {
// we mined the duplicate coinbase
assert(current_block->vtx.at(0)->vin.at(0).scriptSig == duplicate_coinbase_script);
}

const auto prev_utxo_stats = utxo_stats;
if (was_valid) {
circulation += GetBlockSubsidy(ActiveHeight(), Params().GetConsensus());

if (duplicate_coinbase_height == ActiveHeight()) {
// we mined the duplicate coinbase
assert(current_block->vtx.at(0)->vin.at(0).scriptSig == duplicate_coinbase_script);
}
}

UpdateUtxoStats();
Expand Down

0 comments on commit fafb4da

Please sign in to comment.