mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 14:38:29 +01:00
fuzz: replace every fuzzer-controlled loop with a LIMITED_WHILE loop
Blindly chose a cap of 10000 iterations for every loop, except for the two in script_ops.cpp and scriptnum_ops.cpp which appeared to (sometimes) be deserializing individual bytes; capped those to one million to ensure that sometimes we try working with massive scripts. There was also one fuzzer-controlled loop in timedata.cpp which was already capped, so I left that alone. git grep 'while (fuzz' should now run clean except for timedata.cpp
This commit is contained in:
@@ -27,7 +27,7 @@ FUZZ_TARGET_INIT(pow, initialize_pow)
|
||||
std::vector<CBlockIndex> blocks;
|
||||
const uint32_t fixed_time = fuzzed_data_provider.ConsumeIntegral<uint32_t>();
|
||||
const uint32_t fixed_bits = fuzzed_data_provider.ConsumeIntegral<uint32_t>();
|
||||
while (fuzzed_data_provider.remaining_bytes() > 0) {
|
||||
LIMITED_WHILE(fuzzed_data_provider.remaining_bytes() > 0, 10000) {
|
||||
const std::optional<CBlockHeader> block_header = ConsumeDeserializable<CBlockHeader>(fuzzed_data_provider);
|
||||
if (!block_header) {
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user