Skip to content

Commit

Permalink
Fix bug in p2p_headers_presync harness
Browse files Browse the repository at this point in the history
  • Loading branch information
marcofleon authored and m3dwards committed Oct 3, 2024
1 parent 3bd5e90 commit 21fd45a
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions src/test/fuzz/p2p_headers_presync.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -197,15 +197,15 @@ FUZZ_TARGET(p2p_headers_presync, .init = initialize)
auto headers_msg = NetMsg::Make(NetMsgType::BLOCK, TX_WITH_WITNESS(block));
g_testing_setup->SendMessage(fuzzed_data_provider, std::move(headers_msg));
});
}

// This is a conservative overestimate, as base is only moved forward when sending headers. In theory,
// the longest chain generated by this test is 1600 (FUZZ_MAX_HEADERS_RESULTS * 100) headers. In that case,
// this variable will accurately reflect the chain's total work.
total_work += CalculateClaimedHeadersWork(all_headers);
// This is a conservative overestimate, as base is only moved forward when sending headers. In theory,
// the longest chain generated by this test is 1600 (FUZZ_MAX_HEADERS_RESULTS * 100) headers. In that case,
// this variable will accurately reflect the chain's total work.
total_work += CalculateClaimedHeadersWork(all_headers);

// This test should never create a chain with more work than MinimumChainWork.
assert(total_work < chainman.MinimumChainWork());
}
// This test should never create a chain with more work than MinimumChainWork.
assert(total_work < chainman.MinimumChainWork());

// The headers/blocks sent in this test should never be stored, as the chains don't have the work required
// to meet the anti-DoS work threshold. So, if at any point the block index grew in size, then there's a bug
Expand Down

0 comments on commit 21fd45a

Please sign in to comment.