Coverage Report

Created: 2026-08-14 17:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/root/bitcoin/src/test/fuzz/util.h
Line
Count
Source
1
// Copyright (c) 2009-present The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#ifndef BITCOIN_TEST_FUZZ_UTIL_H
6
#define BITCOIN_TEST_FUZZ_UTIL_H
7
8
#include <addresstype.h>
9
#include <arith_uint256.h>
10
#include <coins.h>
11
#include <compat/compat.h>
12
#include <consensus/amount.h>
13
#include <consensus/consensus.h>
14
#include <key.h>
15
#include <merkleblock.h>
16
#include <pow.h>
17
#include <primitives/transaction.h>
18
#include <script/script.h>
19
#include <serialize.h>
20
#include <streams.h>
21
#include <test/fuzz/FuzzedDataProvider.h>
22
#include <test/fuzz/fuzz.h>
23
#include <uint256.h>
24
#include <validation.h>
25
26
#include <algorithm>
27
#include <array>
28
#include <cstdint>
29
#include <cstdio>
30
#include <optional>
31
#include <string>
32
#include <vector>
33
34
class PeerManager;
35
36
template <typename... Callables>
37
size_t CallOneOf(FuzzedDataProvider& fuzzed_data_provider, Callables... callables)
38
105k
{
39
105k
    constexpr size_t call_size{sizeof...(callables)};
40
105k
    static_assert(call_size >= 1);
41
105k
    const size_t call_index{fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, call_size - 1)};
42
43
105k
    size_t i{0};
44
693k
    ((i++ == call_index ? callables() : void()), ...);
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 8.89k, False: 14.4k]
  Branch (44:7): [True: 4.23k, False: 19.1k]
  Branch (44:7): [True: 2.33k, False: 21.0k]
  Branch (44:7): [True: 2.65k, False: 20.7k]
  Branch (44:7): [True: 5.24k, False: 18.1k]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 16.1k, False: 66.1k]
  Branch (44:7): [True: 38.5k, False: 43.7k]
  Branch (44:7): [True: 3.42k, False: 78.8k]
  Branch (44:7): [True: 4.80k, False: 77.5k]
  Branch (44:7): [True: 2.86k, False: 79.4k]
  Branch (44:7): [True: 13.3k, False: 68.9k]
  Branch (44:7): [True: 3.11k, False: 79.1k]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
  Branch (44:7): [True: 0, False: 0]
45
105k
    return call_size;
46
105k
}
Unexecuted instantiation: addrman.cpp:_Z9CallOneOfIJZ19addrman_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z19addrman_fuzz_targetS2_E3$_1Z19addrman_fuzz_targetS2_E3$_2Z19addrman_fuzz_targetS2_E3$_3Z19addrman_fuzz_targetS2_E3$_4Z19addrman_fuzz_targetS2_E3$_5Z19addrman_fuzz_targetS2_E3$_6EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: autofile.cpp:_Z9CallOneOfIJZ20autofile_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z20autofile_fuzz_targetS2_E3$_1Z20autofile_fuzz_targetS2_E3$_2Z20autofile_fuzz_targetS2_E3$_3Z20autofile_fuzz_targetS2_E3$_4Z20autofile_fuzz_targetS2_E3$_5EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: _Z9CallOneOfIJZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_EUlvE_ZS0_IS1_EvS3_S5_EUlvE0_ZS0_IS1_EvS3_S5_EUlvE1_ZS0_IS1_EvS3_S5_EUlvE2_ZS0_IS1_EvS3_S5_EUlvE3_ZS0_IS1_EvS3_S5_EUlvE4_ZS0_IS1_EvS3_S5_EUlvE5_ZS0_IS1_EvS3_S5_EUlvE6_ZS0_IS1_EvS3_S5_EUlvE7_ZS0_IS1_EvS3_S5_EUlvE8_ZS0_IS1_EvS3_S5_EUlvE9_EEmS3_DpT_
Unexecuted instantiation: _Z9CallOneOfIJZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_EUlvE_ZS0_IS1_EvS3_S5_EUlvE0_ZS0_IS1_EvS3_S5_EUlvE1_ZS0_IS1_EvS3_S5_EUlvE2_ZS0_IS1_EvS3_S5_EUlvE3_ZS0_IS1_EvS3_S5_EUlvE4_ZS0_IS1_EvS3_S5_EUlvE5_ZS0_IS1_EvS3_S5_EUlvE6_ZS0_IS1_EvS3_S5_EUlvE7_ZS0_IS1_EvS3_S5_EUlvE8_ZS0_IS1_EvS3_S5_EUlvE9_EEmS3_DpT_
Unexecuted instantiation: banman.cpp:_Z9CallOneOfIJZ18banman_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z18banman_fuzz_targetS2_E3$_1Z18banman_fuzz_targetS2_E3$_2Z18banman_fuzz_targetS2_E3$_3Z18banman_fuzz_targetS2_E3$_4Z18banman_fuzz_targetS2_E3$_5Z18banman_fuzz_targetS2_E3$_6Z18banman_fuzz_targetS2_E3$_7Z18banman_fuzz_targetS2_E3$_8Z18banman_fuzz_targetS2_E3$_9Z18banman_fuzz_targetS2_E4$_10EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: bitdeque.cpp:_Z9CallOneOfIJZ20bitdeque_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z20bitdeque_fuzz_targetS2_E3$_1Z20bitdeque_fuzz_targetS2_E3$_2Z20bitdeque_fuzz_targetS2_E3$_3Z20bitdeque_fuzz_targetS2_E3$_4Z20bitdeque_fuzz_targetS2_E3$_5Z20bitdeque_fuzz_targetS2_E3$_6Z20bitdeque_fuzz_targetS2_E3$_7Z20bitdeque_fuzz_targetS2_E3$_8Z20bitdeque_fuzz_targetS2_E3$_9Z20bitdeque_fuzz_targetS2_E4$_10Z20bitdeque_fuzz_targetS2_E4$_11Z20bitdeque_fuzz_targetS2_E4$_12Z20bitdeque_fuzz_targetS2_E4$_13Z20bitdeque_fuzz_targetS2_E4$_14Z20bitdeque_fuzz_targetS2_E4$_15Z20bitdeque_fuzz_targetS2_E4$_16Z20bitdeque_fuzz_targetS2_E4$_17Z20bitdeque_fuzz_targetS2_E4$_18Z20bitdeque_fuzz_targetS2_E4$_19Z20bitdeque_fuzz_targetS2_E4$_20Z20bitdeque_fuzz_targetS2_E4$_21Z20bitdeque_fuzz_targetS2_E4$_22Z20bitdeque_fuzz_targetS2_E4$_23Z20bitdeque_fuzz_targetS2_E4$_24Z20bitdeque_fuzz_targetS2_E4$_25Z20bitdeque_fuzz_targetS2_E4$_26Z20bitdeque_fuzz_targetS2_E4$_27Z20bitdeque_fuzz_targetS2_E4$_28Z20bitdeque_fuzz_targetS2_E4$_29Z20bitdeque_fuzz_targetS2_E4$_30Z20bitdeque_fuzz_targetS2_E4$_31Z20bitdeque_fuzz_targetS2_E4$_32Z20bitdeque_fuzz_targetS2_E4$_33Z20bitdeque_fuzz_targetS2_E4$_34Z20bitdeque_fuzz_targetS2_E4$_35Z20bitdeque_fuzz_targetS2_E4$_36Z20bitdeque_fuzz_targetS2_E4$_37Z20bitdeque_fuzz_targetS2_E4$_38Z20bitdeque_fuzz_targetS2_E4$_39Z20bitdeque_fuzz_targetS2_E4$_40Z20bitdeque_fuzz_targetS2_E4$_41Z20bitdeque_fuzz_targetS2_E4$_42Z20bitdeque_fuzz_targetS2_E4$_43Z20bitdeque_fuzz_targetS2_E4$_44Z20bitdeque_fuzz_targetS2_E4$_45EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: block_index_tree.cpp:_Z9CallOneOfIJZ28block_index_tree_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z28block_index_tree_fuzz_targetS2_E3$_1Z28block_index_tree_fuzz_targetS2_E3$_2Z28block_index_tree_fuzz_targetS2_E3$_3Z28block_index_tree_fuzz_targetS2_E3$_4EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: bloom_filter.cpp:_Z9CallOneOfIJZ24bloom_filter_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z24bloom_filter_fuzz_targetS2_E3$_1Z24bloom_filter_fuzz_targetS2_E3$_2Z24bloom_filter_fuzz_targetS2_E3$_3EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: buffered_file.cpp:_Z9CallOneOfIJZ25buffered_file_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z25buffered_file_fuzz_targetS2_E3$_1Z25buffered_file_fuzz_targetS2_E3$_2Z25buffered_file_fuzz_targetS2_E3$_3Z25buffered_file_fuzz_targetS2_E3$_4EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: _Z9CallOneOfIJZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_EUlvE_ZS0_IS1_EvS3_S5_EUlvE0_ZS0_IS1_EvS3_S5_EUlvE1_ZS0_IS1_EvS3_S5_EUlvE2_ZS0_IS1_EvS3_S5_EUlvE3_ZS0_IS1_EvS3_S5_EUlvE4_ZS0_IS1_EvS3_S5_EUlvE5_ZS0_IS1_EvS3_S5_EUlvE6_ZS0_IS1_EvS3_S5_EUlvE7_ZS0_IS1_EvS3_S5_EUlvE8_ZS0_IS1_EvS3_S5_EUlvE9_EEmS3_DpT_
Unexecuted instantiation: cmpctblock.cpp:_Z9CallOneOfIJZ22cmpctblock_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_4Z22cmpctblock_fuzz_targetS2_E3$_5Z22cmpctblock_fuzz_targetS2_E3$_6Z22cmpctblock_fuzz_targetS2_E3$_7Z22cmpctblock_fuzz_targetS2_E3$_8Z22cmpctblock_fuzz_targetS2_E3$_9Z22cmpctblock_fuzz_targetS2_E4$_10EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: coins_view.cpp:_Z9CallOneOfIJZ13TestCoinsViewR18FuzzedDataProviderR15CCoinsViewCacheP10CCoinsViewE3$_0Z13TestCoinsViewS1_S3_S5_E3$_1Z13TestCoinsViewS1_S3_S5_E3$_2Z13TestCoinsViewS1_S3_S5_E3$_3Z13TestCoinsViewS1_S3_S5_E3$_4Z13TestCoinsViewS1_S3_S5_E3$_5Z13TestCoinsViewS1_S3_S5_E3$_6Z13TestCoinsViewS1_S3_S5_E3$_7Z13TestCoinsViewS1_S3_S5_E3$_8Z13TestCoinsViewS1_S3_S5_E3$_9Z13TestCoinsViewS1_S3_S5_E4$_10Z13TestCoinsViewS1_S3_S5_E4$_11Z13TestCoinsViewS1_S3_S5_E4$_12EEmS1_DpT_
Unexecuted instantiation: coins_view.cpp:_Z9CallOneOfIJZ13TestCoinsViewR18FuzzedDataProviderR15CCoinsViewCacheP10CCoinsViewE4$_13Z13TestCoinsViewS1_S3_S5_E4$_14Z13TestCoinsViewS1_S3_S5_E4$_15Z13TestCoinsViewS1_S3_S5_E4$_16Z13TestCoinsViewS1_S3_S5_E4$_17Z13TestCoinsViewS1_S3_S5_E4$_18EEmS1_DpT_
Unexecuted instantiation: coinscache_sim.cpp:_Z9CallOneOfIJZ26coinscache_sim_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_2Z26coinscache_sim_fuzz_targetS2_E3$_3Z26coinscache_sim_fuzz_targetS2_E3$_4Z26coinscache_sim_fuzz_targetS2_E3$_5Z26coinscache_sim_fuzz_targetS2_E3$_6Z26coinscache_sim_fuzz_targetS2_E3$_7Z26coinscache_sim_fuzz_targetS2_E3$_8Z26coinscache_sim_fuzz_targetS2_E3$_9Z26coinscache_sim_fuzz_targetS2_E4$_10Z26coinscache_sim_fuzz_targetS2_E4$_11Z26coinscache_sim_fuzz_targetS2_E4$_12Z26coinscache_sim_fuzz_targetS2_E4$_13Z26coinscache_sim_fuzz_targetS2_E4$_14Z26coinscache_sim_fuzz_targetS2_E4$_15Z26coinscache_sim_fuzz_targetS2_E4$_16Z26coinscache_sim_fuzz_targetS2_E4$_17Z26coinscache_sim_fuzz_targetS2_E4$_18EEmR18FuzzedDataProviderDpT_
connect_block.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118ConsumeTransactionER18FuzzedDataProviderRSt6vectorI5CTxInSaIS4_EEbiE3$_0ZNS0_18ConsumeTransactionES2_S7_biE3$_1ZNS0_18ConsumeTransactionES2_S7_biE3$_2ZNS0_18ConsumeTransactionES2_S7_biE3$_3ZNS0_18ConsumeTransactionES2_S7_biE3$_4EEmS2_DpT_
Line
Count
Source
38
23.3k
{
39
23.3k
    constexpr size_t call_size{sizeof...(callables)};
40
23.3k
    static_assert(call_size >= 1);
41
23.3k
    const size_t call_index{fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, call_size - 1)};
42
43
23.3k
    size_t i{0};
44
116k
    ((i++ == call_index ? callables() : void()), ...);
  Branch (44:7): [True: 8.89k, False: 14.4k]
  Branch (44:7): [True: 4.23k, False: 19.1k]
  Branch (44:7): [True: 2.33k, False: 21.0k]
  Branch (44:7): [True: 2.65k, False: 20.7k]
  Branch (44:7): [True: 5.24k, False: 18.1k]
45
23.3k
    return call_size;
46
23.3k
}
Unexecuted instantiation: connman.cpp:_Z9CallOneOfIJZ19connman_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_5Z19connman_fuzz_targetS2_E3$_6Z19connman_fuzz_targetS2_E3$_7Z19connman_fuzz_targetS2_E3$_8Z19connman_fuzz_targetS2_E3$_9Z19connman_fuzz_targetS2_E4$_10Z19connman_fuzz_targetS2_E4$_11Z19connman_fuzz_targetS2_E4$_12Z19connman_fuzz_targetS2_E4$_13Z19connman_fuzz_targetS2_E4$_14Z19connman_fuzz_targetS2_E4$_15Z19connman_fuzz_targetS2_E3$_2Z19connman_fuzz_targetS2_E4$_16Z19connman_fuzz_targetS2_E4$_17Z19connman_fuzz_targetS2_E4$_18Z19connman_fuzz_targetS2_E4$_19Z19connman_fuzz_targetS2_E4$_20Z19connman_fuzz_targetS2_E4$_21Z19connman_fuzz_targetS2_E4$_22Z19connman_fuzz_targetS2_E4$_23Z19connman_fuzz_targetS2_E4$_24Z19connman_fuzz_targetS2_E4$_25Z19connman_fuzz_targetS2_E4$_26Z19connman_fuzz_targetS2_E4$_27Z19connman_fuzz_targetS2_E4$_28EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: crypto.cpp:_Z9CallOneOfIJZ18crypto_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z18crypto_fuzz_targetS2_E3$_1Z18crypto_fuzz_targetS2_E3$_2EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: crypto.cpp:_Z9CallOneOfIJZZ18crypto_fuzz_targetSt4spanIKhLm18446744073709551615EEENK3$_2clEvEUlvE_ZZ18crypto_fuzz_targetS2_ENKS3_clEvEUlvE0_ZZ18crypto_fuzz_targetS2_ENKS3_clEvEUlvE1_ZZ18crypto_fuzz_targetS2_ENKS3_clEvEUlvE2_ZZ18crypto_fuzz_targetS2_ENKS3_clEvEUlvE3_ZZ18crypto_fuzz_targetS2_ENKS3_clEvEUlvE4_ZZ18crypto_fuzz_targetS2_ENKS3_clEvEUlvE5_ZZ18crypto_fuzz_targetS2_ENKS3_clEvEUlvE6_ZZ18crypto_fuzz_targetS2_ENKS3_clEvEUlvE7_ZZ18crypto_fuzz_targetS2_ENKS3_clEvEUlvE8_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: crypto_chacha20.cpp:_Z9CallOneOfIJZ27crypto_chacha20_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z27crypto_chacha20_fuzz_targetS2_E3$_1Z27crypto_chacha20_fuzz_targetS2_E3$_2Z27crypto_chacha20_fuzz_targetS2_E3$_3EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: crypto_diff_fuzz_chacha20.cpp:_Z9CallOneOfIJZ37crypto_diff_fuzz_chacha20_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z37crypto_diff_fuzz_chacha20_fuzz_targetS2_E3$_1Z37crypto_diff_fuzz_chacha20_fuzz_targetS2_E3$_2Z37crypto_diff_fuzz_chacha20_fuzz_targetS2_E3$_3EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: dbwrapper.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_113TestDbWrapperIZ21dbwrapper_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z21dbwrapper_fuzz_targetS4_E3$_1EEvR18FuzzedDataProviderPN7leveldb3EnvET_T0_bEUlvE_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE0_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE1_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE2_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE3_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE4_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE5_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE6_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE7_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE8_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE9_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE10_EEmS8_DpT_
Unexecuted instantiation: dbwrapper.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_113TestDbWrapperIZ30dbwrapper_threaded_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z30dbwrapper_threaded_fuzz_targetS4_E3$_1EEvR18FuzzedDataProviderPN7leveldb3EnvET_T0_bEUlvE_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE0_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE1_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE2_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE3_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE4_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE5_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE6_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE7_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE8_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE9_ZNS1_IS5_S6_EEvS8_SB_SC_SD_bEUlvE10_EEmS8_DpT_
Unexecuted instantiation: float.cpp:_Z9CallOneOfIJZZ17float_fuzz_targetSt4spanIKhLm18446744073709551615EEENK3$_0clEvEUlvE_ZZ17float_fuzz_targetS2_ENKS3_clEvEUlvE0_ZZ17float_fuzz_targetS2_ENKS3_clEvEUlvE1_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: merkleblock.cpp:_Z9CallOneOfIJZ23merkleblock_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z23merkleblock_fuzz_targetS2_E3$_1EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: minisketch.cpp:_Z9CallOneOfIJZ22minisketch_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_2Z22minisketch_fuzz_targetS2_E3$_3Z22minisketch_fuzz_targetS2_E3$_4EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: muhash.cpp:_Z9CallOneOfIJZ18muhash_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z18muhash_fuzz_targetS2_E3$_1Z18muhash_fuzz_targetS2_E3$_2Z18muhash_fuzz_targetS2_E3$_3EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: net.cpp:_Z9CallOneOfIJZ15net_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z15net_fuzz_targetS2_E3$_1Z15net_fuzz_targetS2_E3$_2Z15net_fuzz_targetS2_E3$_3Z15net_fuzz_targetS2_E3$_4EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: net.cpp:_Z9CallOneOfIJZ25local_address_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z25local_address_fuzz_targetS2_E3$_1Z25local_address_fuzz_targetS2_E3$_2Z25local_address_fuzz_targetS2_E3$_3Z25local_address_fuzz_targetS2_E3$_4Z25local_address_fuzz_targetS2_E3$_5EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: p2p_headers_presync.cpp:_Z9CallOneOfIJZ31p2p_headers_presync_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_3Z31p2p_headers_presync_fuzz_targetS2_E3$_4Z31p2p_headers_presync_fuzz_targetS2_E3$_5EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: p2p_private_broadcast.cpp:_Z9CallOneOfIJZ33p2p_private_broadcast_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_1Z33p2p_private_broadcast_fuzz_targetS2_E3$_2Z33p2p_private_broadcast_fuzz_targetS2_E3$_3Z33p2p_private_broadcast_fuzz_targetS2_E3$_4Z33p2p_private_broadcast_fuzz_targetS2_E3$_5Z33p2p_private_broadcast_fuzz_targetS2_E3$_6EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: p2p_transport_serialization.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_114SimulationTestITk21RandomNumberGenerator21InsecureRandomContextEEvR9TransportS4_RT_R18FuzzedDataProviderEUlvE0_ZNS1_ITk21RandomNumberGeneratorS2_EEvS4_S4_S6_S8_EUlvE1_ZNS1_ITk21RandomNumberGeneratorS2_EEvS4_S4_S6_S8_EUlvE2_ZNS1_ITk21RandomNumberGeneratorS2_EEvS4_S4_S6_S8_EUlvE3_ZNS1_ITk21RandomNumberGeneratorS2_EEvS4_S4_S6_S8_EUlvE4_ZNS1_ITk21RandomNumberGeneratorS2_EEvS4_S4_S6_S8_EUlvE5_EEmS8_DpT_
Unexecuted instantiation: policy_estimator.cpp:_Z9CallOneOfIJZ28policy_estimator_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_1Z28policy_estimator_fuzz_targetS2_E3$_2Z28policy_estimator_fuzz_targetS2_E3$_3Z28policy_estimator_fuzz_targetS2_E3$_4EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: poolresource.cpp:_Z9CallOneOfIJZ25pool_resource_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z25pool_resource_fuzz_targetS2_E3$_1Z25pool_resource_fuzz_targetS2_E3$_2Z25pool_resource_fuzz_targetS2_E3$_3Z25pool_resource_fuzz_targetS2_E3$_4Z25pool_resource_fuzz_targetS2_E3$_5Z25pool_resource_fuzz_targetS2_E3$_6Z25pool_resource_fuzz_targetS2_E3$_7EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: poolresource.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118PoolResourceFuzzerILm128ELm1EE4FuzzEvEUlvE_ZNS2_4FuzzEvEUlvE0_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: poolresource.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118PoolResourceFuzzerILm128ELm2EE4FuzzEvEUlvE_ZNS2_4FuzzEvEUlvE0_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: poolresource.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118PoolResourceFuzzerILm128ELm4EE4FuzzEvEUlvE_ZNS2_4FuzzEvEUlvE0_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: poolresource.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118PoolResourceFuzzerILm128ELm8EE4FuzzEvEUlvE_ZNS2_4FuzzEvEUlvE0_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: poolresource.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118PoolResourceFuzzerILm8ELm8EE4FuzzEvEUlvE_ZNS2_4FuzzEvEUlvE0_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: poolresource.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118PoolResourceFuzzerILm16ELm16EE4FuzzEvEUlvE_ZNS2_4FuzzEvEUlvE0_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: poolresource.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118PoolResourceFuzzerILm256ELm16EE4FuzzEvEUlvE_ZNS2_4FuzzEvEUlvE0_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: poolresource.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118PoolResourceFuzzerILm256ELm64EE4FuzzEvEUlvE_ZNS2_4FuzzEvEUlvE0_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: private_broadcast.cpp:_Z9CallOneOfIJZ29private_broadcast_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_2Z29private_broadcast_fuzz_targetS2_E3$_3Z29private_broadcast_fuzz_targetS2_E3$_0Z29private_broadcast_fuzz_targetS2_E3$_4Z29private_broadcast_fuzz_targetS2_E3$_5Z29private_broadcast_fuzz_targetS2_E3$_6Z29private_broadcast_fuzz_targetS2_E3$_7Z29private_broadcast_fuzz_targetS2_E3$_8Z29private_broadcast_fuzz_targetS2_E3$_9Z29private_broadcast_fuzz_targetS2_E4$_10EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: rolling_bloom_filter.cpp:_Z9CallOneOfIJZ32rolling_bloom_filter_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z32rolling_bloom_filter_fuzz_targetS2_E3$_1Z32rolling_bloom_filter_fuzz_targetS2_E3$_2EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: rpc.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_123ConsumeBasicRPCArgumentER18FuzzedDataProviderRbE3$_0ZNS0_23ConsumeBasicRPCArgumentES2_S3_E3$_1ZNS0_23ConsumeBasicRPCArgumentES2_S3_E3$_2ZNS0_23ConsumeBasicRPCArgumentES2_S3_E3$_3ZNS0_23ConsumeBasicRPCArgumentES2_S3_E3$_4ZNS0_23ConsumeBasicRPCArgumentES2_S3_E3$_5ZNS0_23ConsumeBasicRPCArgumentES2_S3_E3$_6ZNS0_23ConsumeBasicRPCArgumentES2_S3_E3$_7ZNS0_23ConsumeBasicRPCArgumentES2_S3_E3$_8ZNS0_23ConsumeBasicRPCArgumentES2_S3_E3$_9ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_10ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_11ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_12ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_13ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_14ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_15ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_16ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_17ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_18ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_19ZNS0_23ConsumeBasicRPCArgumentES2_S3_E4$_20EEmS2_DpT_
Unexecuted instantiation: script_ops.cpp:_Z9CallOneOfIJZ22script_ops_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z22script_ops_fuzz_targetS2_E3$_1Z22script_ops_fuzz_targetS2_E3$_2Z22script_ops_fuzz_targetS2_E3$_3Z22script_ops_fuzz_targetS2_E3$_4Z22script_ops_fuzz_targetS2_E3$_5Z22script_ops_fuzz_targetS2_E3$_6EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: scriptnum_ops.cpp:_Z9CallOneOfIJZ25scriptnum_ops_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z25scriptnum_ops_fuzz_targetS2_E3$_1Z25scriptnum_ops_fuzz_targetS2_E3$_2Z25scriptnum_ops_fuzz_targetS2_E3$_3Z25scriptnum_ops_fuzz_targetS2_E3$_4Z25scriptnum_ops_fuzz_targetS2_E3$_5Z25scriptnum_ops_fuzz_targetS2_E3$_6Z25scriptnum_ops_fuzz_targetS2_E3$_7Z25scriptnum_ops_fuzz_targetS2_E3$_8Z25scriptnum_ops_fuzz_targetS2_E3$_9Z25scriptnum_ops_fuzz_targetS2_E4$_10Z25scriptnum_ops_fuzz_targetS2_E4$_11EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: strprintf.cpp:_Z9CallOneOfIJZ22str_printf_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z22str_printf_fuzz_targetS2_E3$_1Z22str_printf_fuzz_targetS2_E3$_2Z22str_printf_fuzz_targetS2_E3$_3Z22str_printf_fuzz_targetS2_E3$_4Z22str_printf_fuzz_targetS2_E3$_5EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: strprintf.cpp:_Z9CallOneOfIJZ22str_printf_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_6Z22str_printf_fuzz_targetS2_E3$_7Z22str_printf_fuzz_targetS2_E3$_8Z22str_printf_fuzz_targetS2_E3$_9Z22str_printf_fuzz_targetS2_E4$_10Z22str_printf_fuzz_targetS2_E4$_11Z22str_printf_fuzz_targetS2_E4$_12Z22str_printf_fuzz_targetS2_E4$_13EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: system.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_118system_fuzz_targetESt4spanIKhLm18446744073709551615EEE3$_0ZNS0_18system_fuzz_targetES3_E3$_1ZNS0_18system_fuzz_targetES3_E3$_2ZNS0_18system_fuzz_targetES3_E3$_3ZNS0_18system_fuzz_targetES3_E3$_4ZNS0_18system_fuzz_targetES3_E3$_5ZNS0_18system_fuzz_targetES3_E3$_6ZNS0_18system_fuzz_targetES3_E3$_7ZNS0_18system_fuzz_targetES3_E3$_8EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: torcontrol.cpp:_Z9CallOneOfIJZ22torcontrol_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_0Z22torcontrol_fuzz_targetS2_E3$_1Z22torcontrol_fuzz_targetS2_E3$_2Z22torcontrol_fuzz_targetS2_E3$_3EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: torcontrol.cpp:_Z9CallOneOfIJZ22torcontrol_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_4Z22torcontrol_fuzz_targetS2_E3$_5Z22torcontrol_fuzz_targetS2_E3$_6Z22torcontrol_fuzz_targetS2_E3$_7Z22torcontrol_fuzz_targetS2_E3$_8Z22torcontrol_fuzz_targetS2_E3$_9EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: txdownloadman.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_125txdownloadman_fuzz_targetESt4spanIKhLm18446744073709551615EEE3$_0ZNS0_25txdownloadman_fuzz_targetES3_E3$_1ZNS0_25txdownloadman_fuzz_targetES3_E3$_2ZNS0_25txdownloadman_fuzz_targetES3_E3$_3ZNS0_25txdownloadman_fuzz_targetES3_E3$_4ZNS0_25txdownloadman_fuzz_targetES3_E3$_5ZNS0_25txdownloadman_fuzz_targetES3_E3$_6ZNS0_25txdownloadman_fuzz_targetES3_E3$_7ZNS0_25txdownloadman_fuzz_targetES3_E3$_8ZNS0_25txdownloadman_fuzz_targetES3_E3$_9ZNS0_25txdownloadman_fuzz_targetES3_E4$_10ZNS0_25txdownloadman_fuzz_targetES3_E4$_11EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: txdownloadman.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_130txdownloadman_impl_fuzz_targetESt4spanIKhLm18446744073709551615EEE3$_0ZNS0_30txdownloadman_impl_fuzz_targetES3_E3$_1ZNS0_30txdownloadman_impl_fuzz_targetES3_E3$_2ZNS0_30txdownloadman_impl_fuzz_targetES3_E3$_3ZNS0_30txdownloadman_impl_fuzz_targetES3_E3$_4ZNS0_30txdownloadman_impl_fuzz_targetES3_E3$_5ZNS0_30txdownloadman_impl_fuzz_targetES3_E3$_6ZNS0_30txdownloadman_impl_fuzz_targetES3_E3$_7ZNS0_30txdownloadman_impl_fuzz_targetES3_E3$_8ZNS0_30txdownloadman_impl_fuzz_targetES3_E3$_9ZNS0_30txdownloadman_impl_fuzz_targetES3_E4$_10ZNS0_30txdownloadman_impl_fuzz_targetES3_E4$_11EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: txorphan.cpp:_Z9CallOneOfIJZ20txorphan_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_2Z20txorphan_fuzz_targetS2_E3$_3Z20txorphan_fuzz_targetS2_E3$_4Z20txorphan_fuzz_targetS2_E3$_5Z20txorphan_fuzz_targetS2_E3$_6Z20txorphan_fuzz_targetS2_E3$_7EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: txorphan.cpp:_Z9CallOneOfIJZ30txorphan_protected_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_1Z30txorphan_protected_fuzz_targetS2_E3$_2Z30txorphan_protected_fuzz_targetS2_E3$_3Z30txorphan_protected_fuzz_targetS2_E3$_4EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: utxo_total_supply.cpp:_Z9CallOneOfIJZ29utxo_total_supply_fuzz_targetSt4spanIKhLm18446744073709551615EEE3$_5Z29utxo_total_supply_fuzz_targetS2_E3$_6Z29utxo_total_supply_fuzz_targetS2_E3$_7EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: ipc.cpp:_Z9CallOneOfIJZN12_GLOBAL__N_115ipc_fuzz_targetESt4spanIKhLm18446744073709551615EEE3$_0ZNS0_15ipc_fuzz_targetES3_E3$_1ZNS0_15ipc_fuzz_targetES3_E3$_2ZNS0_15ipc_fuzz_targetES3_E3$_3ZNS0_15ipc_fuzz_targetES3_E3$_4ZNS0_15ipc_fuzz_targetES3_E3$_5EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: coincontrol.cpp:_Z9CallOneOfIJZN6wallet12_GLOBAL__N_123coincontrol_fuzz_targetESt4spanIKhLm18446744073709551615EEE3$_0ZNS1_23coincontrol_fuzz_targetES4_E3$_1ZNS1_23coincontrol_fuzz_targetES4_E3$_2ZNS1_23coincontrol_fuzz_targetES4_E3$_3ZNS1_23coincontrol_fuzz_targetES4_E3$_4ZNS1_23coincontrol_fuzz_targetES4_E3$_5ZNS1_23coincontrol_fuzz_targetES4_E3$_6ZNS1_23coincontrol_fuzz_targetES4_E3$_7ZNS1_23coincontrol_fuzz_targetES4_E3$_8ZNS1_23coincontrol_fuzz_targetES4_E3$_9ZNS1_23coincontrol_fuzz_targetES4_E4$_10ZNS1_23coincontrol_fuzz_targetES4_E4$_11ZNS1_23coincontrol_fuzz_targetES4_E4$_12ZNS1_23coincontrol_fuzz_targetES4_E4$_13ZNS1_23coincontrol_fuzz_targetES4_E4$_14ZNS1_23coincontrol_fuzz_targetES4_E4$_15ZNS1_23coincontrol_fuzz_targetES4_E4$_16ZNS1_23coincontrol_fuzz_targetES4_E4$_17ZNS1_23coincontrol_fuzz_targetES4_E4$_18EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: crypter.cpp:_Z9CallOneOfIJZN6wallet12_GLOBAL__N_119crypter_fuzz_targetESt4spanIKhLm18446744073709551615EEE3$_0ZNS1_19crypter_fuzz_targetES4_E3$_1ZNS1_19crypter_fuzz_targetES4_E3$_2ZNS1_19crypter_fuzz_targetES4_E3$_3ZNS1_19crypter_fuzz_targetES4_E3$_4ZNS1_19crypter_fuzz_targetES4_E3$_5ZNS1_19crypter_fuzz_targetES4_E3$_6EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: scriptpubkeyman.cpp:_Z9CallOneOfIJZN6wallet12_GLOBAL__N_127scriptpubkeyman_fuzz_targetESt4spanIKhLm18446744073709551615EEE3$_0ZNS1_27scriptpubkeyman_fuzz_targetES4_E3$_1ZNS1_27scriptpubkeyman_fuzz_targetES4_E3$_2ZNS1_27scriptpubkeyman_fuzz_targetES4_E3$_3ZNS1_27scriptpubkeyman_fuzz_targetES4_E3$_4ZNS1_27scriptpubkeyman_fuzz_targetES4_E3$_5EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: scriptpubkeyman.cpp:_Z9CallOneOfIJZN6wallet12_GLOBAL__N_126spkm_migration_fuzz_targetESt4spanIKhLm18446744073709551615EEE3$_0ZNS1_26spkm_migration_fuzz_targetES4_E3$_1EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: scriptpubkeyman.cpp:_Z9CallOneOfIJZZN6wallet12_GLOBAL__N_126spkm_migration_fuzz_targetESt4spanIKhLm18446744073709551615EEENK3$_0clEvEUlvE_ZZNS1_26spkm_migration_fuzz_targetES4_ENKS5_clEvEUlvE0_ZZNS1_26spkm_migration_fuzz_targetES4_ENKS5_clEvEUlvE1_EEmR18FuzzedDataProviderDpT_
Unexecuted instantiation: spend.cpp:_Z9CallOneOfIJZN6wallet12_GLOBAL__N_137wallet_create_transaction_fuzz_targetESt4spanIKhLm18446744073709551615EEE3$_0ZNS1_37wallet_create_transaction_fuzz_targetES4_E3$_1ZNS1_37wallet_create_transaction_fuzz_targetES4_E3$_2EEmR18FuzzedDataProviderDpT_
util.cpp:_Z9CallOneOfIJZ13ConsumeScriptR18FuzzedDataProviderbE3$_0Z13ConsumeScriptS1_bE3$_1Z13ConsumeScriptS1_bE3$_2Z13ConsumeScriptS1_bE3$_3Z13ConsumeScriptS1_bE3$_4Z13ConsumeScriptS1_bE3$_5Z13ConsumeScriptS1_bE3$_6EEmS1_DpT_
Line
Count
Source
38
82.3k
{
39
82.3k
    constexpr size_t call_size{sizeof...(callables)};
40
82.3k
    static_assert(call_size >= 1);
41
82.3k
    const size_t call_index{fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, call_size - 1)};
42
43
82.3k
    size_t i{0};
44
576k
    ((i++ == call_index ? callables() : void()), ...);
  Branch (44:7): [True: 16.1k, False: 66.1k]
  Branch (44:7): [True: 38.5k, False: 43.7k]
  Branch (44:7): [True: 3.42k, False: 78.8k]
  Branch (44:7): [True: 4.80k, False: 77.5k]
  Branch (44:7): [True: 2.86k, False: 79.4k]
  Branch (44:7): [True: 13.3k, False: 68.9k]
  Branch (44:7): [True: 3.11k, False: 79.1k]
45
82.3k
    return call_size;
46
82.3k
}
Unexecuted instantiation: util.cpp:_Z9CallOneOfIJZ20ConsumeTxDestinationR18FuzzedDataProviderE3$_0Z20ConsumeTxDestinationS1_E3$_1Z20ConsumeTxDestinationS1_E3$_2Z20ConsumeTxDestinationS1_E3$_3Z20ConsumeTxDestinationS1_E3$_4Z20ConsumeTxDestinationS1_E3$_5Z20ConsumeTxDestinationS1_E3$_6Z20ConsumeTxDestinationS1_E3$_7Z20ConsumeTxDestinationS1_E3$_8EEmS1_DpT_
Unexecuted instantiation: util.cpp:_Z9CallOneOfIJZN18FuzzedFileProvider4openEvE3$_0ZNS0_4openEvE3$_1ZNS0_4openEvE3$_2ZNS0_4openEvE3$_3ZNS0_4openEvE3$_4ZNS0_4openEvE3$_5EEmR18FuzzedDataProviderDpT_
47
48
template <typename Collection>
49
auto PickIterator(FuzzedDataProvider& fuzzed_data_provider, Collection& col)
50
0
{
51
0
    const auto sz{col.size()};
52
0
    assert(sz >= 1);
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
  Branch (52:5): [True: 0, False: 0]
53
0
    return std::next(col.begin(), fuzzed_data_provider.ConsumeIntegralInRange<decltype(sz)>(0, sz - 1));
54
0
}
Unexecuted instantiation: _Z12PickIteratorISt6vectorIP11CBlockIndexSaIS2_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorIP5CNodeSaIS2_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorIlSaIlEEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorIKSt5arrayIN10miniscript4TypeELm4EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorIKSt6vectorISt4pairIN10miniscript8FragmentES0_INS2_4TypeESaIS4_EEESaIS7_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorIS0_IhSaIhEESaIS2_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorIKSt5arrayINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELm36EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorIKSt5arrayIPKcLm4EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorISt10shared_ptrIK12CTransactionESaIS4_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt3setI9COutPointSt4lessIS1_ESaIS1_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorISt10unique_ptrI11CBlockIndexSt14default_deleteIS2_EESaIS5_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt13unordered_mapISt10shared_ptrIK12CTransactionEm19CTransactionRefHash19CTransactionRefCompSaISt4pairIKS4_mEEEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorISt8functionIFvvEESaIS3_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorIKSt6vectorI13TxMempoolInfoSaIS1_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorIKSt6vectorISt17reference_wrapperIK15CTxMemPoolEntryESaIS4_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorI22transaction_identifierILb0EESaIS2_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorI9COutPointSaIS1_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt13unordered_setI7CScript15SaltedSipHasherSt8equal_toIS1_ESaIS1_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorISt6vectorI4CKeySaIS1_EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorIKSt5arrayIN8CNetAddr8EncodingELm2EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorIKSt5arrayIN8CAddress6FormatELm2EEEDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z12PickIteratorIKSt6vectorI22transaction_identifierILb0EESaIS2_EEEDaR18FuzzedDataProviderRT_
55
56
template <typename Collection>
57
auto& PickValue(FuzzedDataProvider& fuzzed_data_provider, Collection& col)
58
0
{
59
0
    return *PickIterator(fuzzed_data_provider, col);
60
0
}
Unexecuted instantiation: _Z9PickValueISt6vectorIP11CBlockIndexSaIS2_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorIP5CNodeSaIS2_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorIlSaIlEEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueIKSt5arrayIN10miniscript4TypeELm4EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueIKSt6vectorISt4pairIN10miniscript8FragmentES0_INS2_4TypeESaIS4_EEESaIS7_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorIS0_IhSaIhEESaIS2_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueIKSt5arrayINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELm36EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueIKSt5arrayIPKcLm4EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorISt10shared_ptrIK12CTransactionESaIS4_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt3setI9COutPointSt4lessIS1_ESaIS1_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorISt10unique_ptrI11CBlockIndexSt14default_deleteIS2_EESaIS5_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorISt8functionIFvvEESaIS3_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueIKSt6vectorI13TxMempoolInfoSaIS1_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueIKSt6vectorISt17reference_wrapperIK15CTxMemPoolEntryESaIS4_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorI22transaction_identifierILb0EESaIS2_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorI9COutPointSaIS1_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt13unordered_setI7CScript15SaltedSipHasherSt8equal_toIS1_ESaIS1_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueISt6vectorI4CKeySaIS1_EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueIKSt5arrayIN8CNetAddr8EncodingELm2EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueIKSt5arrayIN8CAddress6FormatELm2EEERDaR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z9PickValueIKSt6vectorI22transaction_identifierILb0EESaIS2_EEERDaR18FuzzedDataProviderRT_
61
62
template<typename B = uint8_t>
63
[[nodiscard]] inline std::vector<B> ConsumeRandomLengthByteVector(FuzzedDataProvider& fuzzed_data_provider, const std::optional<size_t>& max_length = std::nullopt) noexcept
64
10.7k
{
65
10.7k
    static_assert(sizeof(B) == 1);
66
10.7k
    const std::string s = max_length ?
  Branch (66:27): [True: 10.7k, False: 0]
  Branch (66:27): [True: 0, False: 0]
67
10.7k
                              fuzzed_data_provider.ConsumeRandomLengthString(*max_length) :
68
10.7k
                              fuzzed_data_provider.ConsumeRandomLengthString();
69
10.7k
    std::vector<B> ret(s.size());
70
10.7k
    std::copy(s.begin(), s.end(), reinterpret_cast<char*>(ret.data()));
71
10.7k
    return ret;
72
10.7k
}
_Z29ConsumeRandomLengthByteVectorIhESt6vectorIT_SaIS1_EER18FuzzedDataProviderRKSt8optionalImE
Line
Count
Source
64
10.7k
{
65
10.7k
    static_assert(sizeof(B) == 1);
66
10.7k
    const std::string s = max_length ?
  Branch (66:27): [True: 10.7k, False: 0]
67
10.7k
                              fuzzed_data_provider.ConsumeRandomLengthString(*max_length) :
68
10.7k
                              fuzzed_data_provider.ConsumeRandomLengthString();
69
10.7k
    std::vector<B> ret(s.size());
70
10.7k
    std::copy(s.begin(), s.end(), reinterpret_cast<char*>(ret.data()));
71
10.7k
    return ret;
72
10.7k
}
Unexecuted instantiation: _Z29ConsumeRandomLengthByteVectorISt4byteESt6vectorIT_SaIS2_EER18FuzzedDataProviderRKSt8optionalImE
73
74
[[nodiscard]] inline DataStream ConsumeDataStream(FuzzedDataProvider& fuzzed_data_provider, const std::optional<size_t>& max_length = std::nullopt) noexcept
75
0
{
76
0
    return DataStream{ConsumeRandomLengthByteVector(fuzzed_data_provider, max_length)};
77
0
}
78
79
[[nodiscard]] inline std::vector<std::string> ConsumeRandomLengthStringVector(FuzzedDataProvider& fuzzed_data_provider, const size_t max_vector_size = 16, const size_t max_string_length = 16) noexcept
80
0
{
81
0
    const size_t n_elements = fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, max_vector_size);
82
0
    std::vector<std::string> r;
83
0
    r.reserve(n_elements);
84
0
    for (size_t i = 0; i < n_elements; ++i) {
  Branch (84:24): [True: 0, False: 0]
85
0
        r.push_back(fuzzed_data_provider.ConsumeRandomLengthString(max_string_length));
86
0
    }
87
0
    return r;
88
0
}
89
90
template <typename T>
91
[[nodiscard]] inline std::vector<T> ConsumeRandomLengthIntegralVector(FuzzedDataProvider& fuzzed_data_provider, const size_t max_vector_size = 16) noexcept
92
0
{
93
0
    const size_t n_elements = fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, max_vector_size);
94
0
    std::vector<T> r;
95
0
    r.reserve(n_elements);
96
0
    for (size_t i = 0; i < n_elements; ++i) {
  Branch (96:24): [True: 0, False: 0]
  Branch (96:24): [True: 0, False: 0]
  Branch (96:24): [True: 0, False: 0]
97
0
        r.push_back(fuzzed_data_provider.ConsumeIntegral<T>());
98
0
    }
99
0
    return r;
100
0
}
Unexecuted instantiation: _Z33ConsumeRandomLengthIntegralVectorIhESt6vectorIT_SaIS1_EER18FuzzedDataProviderm
Unexecuted instantiation: _Z33ConsumeRandomLengthIntegralVectorIjESt6vectorIT_SaIS1_EER18FuzzedDataProviderm
Unexecuted instantiation: _Z33ConsumeRandomLengthIntegralVectorIlESt6vectorIT_SaIS1_EER18FuzzedDataProviderm
101
102
template <typename P>
103
[[nodiscard]] P ConsumeDeserializationParams(FuzzedDataProvider& fuzzed_data_provider) noexcept;
104
105
template <typename T, typename P>
106
[[nodiscard]] std::optional<T> ConsumeDeserializable(FuzzedDataProvider& fuzzed_data_provider, const P& params, const std::optional<size_t>& max_length = std::nullopt) noexcept
107
0
{
108
0
    const std::vector<uint8_t> buffer{ConsumeRandomLengthByteVector(fuzzed_data_provider, max_length)};
109
0
    SpanReader ds{buffer};
110
0
    T obj;
111
0
    try {
112
0
        ds >> params(obj);
113
0
    } catch (const std::ios_base::failure&) {
114
0
        return std::nullopt;
115
0
    }
116
0
    return obj;
117
0
}
Unexecuted instantiation: _Z21ConsumeDeserializableI19CMutableTransaction20TransactionSerParamsESt8optionalIT_ER18FuzzedDataProviderRKT0_RKS2_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI8AddrInfoN8CAddress9SerParamsEESt8optionalIT_ER18FuzzedDataProviderRKT0_RKS3_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI8CNetAddrNS0_9SerParamsEESt8optionalIT_ER18FuzzedDataProviderRKT0_RKS2_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI8CServiceN8CNetAddr9SerParamsEESt8optionalIT_ER18FuzzedDataProviderRKT0_RKS3_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI8CAddressNS0_9SerParamsEESt8optionalIT_ER18FuzzedDataProviderRKT0_RKS2_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI6CBlock20TransactionSerParamsESt8optionalIT_ER18FuzzedDataProviderRKT0_RKS2_ImE
118
119
template <typename T>
120
[[nodiscard]] inline std::optional<T> ConsumeDeserializable(FuzzedDataProvider& fuzzed_data_provider, const std::optional<size_t>& max_length = std::nullopt) noexcept
121
0
{
122
0
    const std::vector<uint8_t> buffer = ConsumeRandomLengthByteVector(fuzzed_data_provider, max_length);
123
0
    SpanReader ds{buffer};
124
0
    T obj;
125
0
    try {
126
0
        ds >> obj;
127
0
    } catch (const std::ios_base::failure&) {
128
0
        return std::nullopt;
129
0
    }
130
0
    return obj;
131
0
}
Unexecuted instantiation: _Z21ConsumeDeserializableI12CBlockHeaderESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI13CBlockLocatorESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableIN6kernel14CBlockFileInfoEESt8optionalIT_ER18FuzzedDataProviderRKS2_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI11BlockFilterESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI9COutPointESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI7uint256ESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI15CDiskBlockIndexESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI4CoinESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI11FlatFilePosESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableISt6vectorI12CBlockHeaderSaIS1_EEESt8optionalIT_ER18FuzzedDataProviderRKS4_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI18CPartialMerkleTreeESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI7CScriptESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI4CInvESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI7CPubKeyESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI13KeyOriginInfoESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
Unexecuted instantiation: _Z21ConsumeDeserializableI6CTxOutESt8optionalIT_ER18FuzzedDataProviderRKS1_ImE
132
133
template <typename T>
134
[[nodiscard]] inline std::optional<T> ConsumeDeserializableConstructor(FuzzedDataProvider& fuzzed_data_provider, const std::optional<size_t>& max_length = std::nullopt) noexcept
135
0
{
136
0
    const std::vector<uint8_t> buffer = ConsumeRandomLengthByteVector(fuzzed_data_provider, max_length);
137
0
    SpanReader ds{buffer};
138
0
    try {
139
0
        T obj(deserialize, ds);
140
0
        return obj;
141
0
    } catch (const std::ios_base::failure&) {
142
0
        return std::nullopt;
143
0
    }
144
0
}
145
146
template <typename WeakEnumType, size_t size>
147
[[nodiscard]] WeakEnumType ConsumeWeakEnum(FuzzedDataProvider& fuzzed_data_provider, const WeakEnumType (&all_types)[size]) noexcept
148
0
{
149
0
    return fuzzed_data_provider.ConsumeBool() ?
  Branch (149:12): [True: 0, False: 0]
  Branch (149:12): [True: 0, False: 0]
150
0
               fuzzed_data_provider.PickValueInArray<WeakEnumType>(all_types) :
151
0
               WeakEnumType(fuzzed_data_provider.ConsumeIntegral<std::underlying_type_t<WeakEnumType>>());
152
0
}
Unexecuted instantiation: _Z15ConsumeWeakEnumI12ServiceFlagsLm7EET_R18FuzzedDataProviderRAT0__KS1_
Unexecuted instantiation: _Z15ConsumeWeakEnumI18NetPermissionFlagsLm10EET_R18FuzzedDataProviderRAT0__KS1_
153
154
[[nodiscard]] inline opcodetype ConsumeOpcodeType(FuzzedDataProvider& fuzzed_data_provider) noexcept
155
13.3k
{
156
13.3k
    return static_cast<opcodetype>(fuzzed_data_provider.ConsumeIntegralInRange<uint32_t>(0, MAX_OPCODE));
157
13.3k
}
158
159
[[nodiscard]] CAmount ConsumeMoney(FuzzedDataProvider& fuzzed_data_provider, const std::optional<CAmount>& max = std::nullopt) noexcept;
160
161
[[nodiscard]] NodeSeconds ConsumeTime(FuzzedDataProvider& fuzzed_data_provider, const std::optional<int64_t>& min = std::nullopt, const std::optional<int64_t>& max = std::nullopt) noexcept;
162
163
template <class Dur>
164
// Having the compiler infer the template argument from the function argument
165
// is dangerous, because the desired return value generally has a different
166
// type than the function argument. So std::common_type is used to force the
167
// call site to specify the type of the return value.
168
[[nodiscard]] Dur ConsumeDuration(FuzzedDataProvider& fuzzed_data_provider, std::common_type_t<Dur> min, std::common_type_t<Dur> max) noexcept
169
0
{
170
0
    return Dur{fuzzed_data_provider.ConsumeIntegralInRange(min.count(), max.count())};
171
0
}
Unexecuted instantiation: _Z15ConsumeDurationINSt6chrono8durationIlSt5ratioILl1ELl1EEEEET_R18FuzzedDataProviderNSt11common_typeIJS5_EE4typeESA_
Unexecuted instantiation: _Z15ConsumeDurationINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEET_R18FuzzedDataProviderNSt11common_typeIJS5_EE4typeESA_
172
173
[[nodiscard]] CMutableTransaction ConsumeTransaction(FuzzedDataProvider& fuzzed_data_provider, const std::optional<std::vector<Txid>>& prevout_txids, int max_num_in = 10, int max_num_out = 10) noexcept;
174
175
[[nodiscard]] CScriptWitness ConsumeScriptWitness(FuzzedDataProvider& fuzzed_data_provider, size_t max_stack_elem_size = 32) noexcept;
176
177
[[nodiscard]] CScript ConsumeScript(FuzzedDataProvider& fuzzed_data_provider, bool maybe_p2wsh = false) noexcept;
178
179
[[nodiscard]] uint32_t ConsumeSequence(FuzzedDataProvider& fuzzed_data_provider) noexcept;
180
181
[[nodiscard]] inline CScriptNum ConsumeScriptNum(FuzzedDataProvider& fuzzed_data_provider) noexcept
182
3.11k
{
183
3.11k
    return CScriptNum{fuzzed_data_provider.ConsumeIntegral<int64_t>()};
184
3.11k
}
185
186
[[nodiscard]] inline uint160 ConsumeUInt160(FuzzedDataProvider& fuzzed_data_provider) noexcept
187
0
{
188
0
    const std::vector<uint8_t> v160 = fuzzed_data_provider.ConsumeBytes<uint8_t>(160 / 8);
189
0
    if (v160.size() != 160 / 8) {
  Branch (189:9): [True: 0, False: 0]
190
0
        return {};
191
0
    }
192
0
    return uint160{v160};
193
0
}
194
195
[[nodiscard]] inline uint256 ConsumeUInt256(FuzzedDataProvider& fuzzed_data_provider) noexcept
196
3.45k
{
197
3.45k
    const std::vector<uint8_t> v256 = fuzzed_data_provider.ConsumeBytes<uint8_t>(256 / 8);
198
3.45k
    if (v256.size() != 256 / 8) {
  Branch (198:9): [True: 629, False: 2.82k]
199
629
        return {};
200
629
    }
201
2.82k
    return uint256{v256};
202
3.45k
}
203
204
[[nodiscard]] inline arith_uint256 ConsumeArithUInt256(FuzzedDataProvider& fuzzed_data_provider) noexcept
205
0
{
206
0
    return UintToArith256(ConsumeUInt256(fuzzed_data_provider));
207
0
}
208
209
[[nodiscard]] inline arith_uint256 ConsumeArithUInt256InRange(FuzzedDataProvider& fuzzed_data_provider, const arith_uint256& min, const arith_uint256& max) noexcept
210
0
{
211
0
    assert(min <= max);
  Branch (211:5): [True: 0, False: 0]
212
0
    const arith_uint256 range = max - min;
213
0
    const arith_uint256 value = ConsumeArithUInt256(fuzzed_data_provider);
214
0
    arith_uint256 result = value;
215
    // Avoid division by 0, in case range + 1 results in overflow.
216
0
    if (range != ~arith_uint256(0)) {
  Branch (216:9): [True: 0, False: 0]
217
0
        const arith_uint256 quotient = value / (range + 1);
218
0
        result = value - (quotient * (range + 1));
219
0
    }
220
0
    result += min;
221
0
    assert(result >= min && result <= max);
  Branch (221:5): [True: 0, False: 0]
  Branch (221:5): [True: 0, False: 0]
  Branch (221:5): [True: 0, False: 0]
222
0
    return result;
223
0
}
224
225
[[nodiscard]] std::map<COutPoint, Coin> ConsumeCoins(FuzzedDataProvider& fuzzed_data_provider) noexcept;
226
227
[[nodiscard]] CTxDestination ConsumeTxDestination(FuzzedDataProvider& fuzzed_data_provider) noexcept;
228
229
[[nodiscard]] CKey ConsumePrivateKey(FuzzedDataProvider& fuzzed_data_provider, std::optional<bool> compressed = std::nullopt) noexcept;
230
231
template <typename T>
232
[[nodiscard]] bool MultiplicationOverflow(const T i, const T j) noexcept
233
0
{
234
0
    static_assert(std::is_integral_v<T>, "Integral required.");
235
0
    if (std::numeric_limits<T>::is_signed) {
  Branch (235:9): [Folded - Ignored]
  Branch (235:9): [Folded - Ignored]
  Branch (235:9): [Folded - Ignored]
  Branch (235:9): [Folded - Ignored]
  Branch (235:9): [Folded - Ignored]
  Branch (235:9): [Folded - Ignored]
  Branch (235:9): [Folded - Ignored]
  Branch (235:9): [Folded - Ignored]
  Branch (235:9): [Folded - Ignored]
236
0
        if (i > 0) {
  Branch (236:13): [True: 0, False: 0]
  Branch (236:13): [True: 0, False: 0]
  Branch (236:13): [True: 0, False: 0]
  Branch (236:13): [True: 0, False: 0]
  Branch (236:13): [True: 0, False: 0]
  Branch (236:13): [True: 0, False: 0]
  Branch (236:13): [True: 0, False: 0]
  Branch (236:13): [True: 0, False: 0]
  Branch (236:13): [True: 0, False: 0]
237
0
            if (j > 0) {
  Branch (237:17): [True: 0, False: 0]
  Branch (237:17): [True: 0, False: 0]
  Branch (237:17): [True: 0, False: 0]
  Branch (237:17): [True: 0, False: 0]
  Branch (237:17): [True: 0, False: 0]
  Branch (237:17): [True: 0, False: 0]
  Branch (237:17): [True: 0, False: 0]
  Branch (237:17): [True: 0, False: 0]
  Branch (237:17): [True: 0, False: 0]
238
0
                return i > (std::numeric_limits<T>::max() / j);
239
0
            } else {
240
0
                return j < (std::numeric_limits<T>::min() / i);
241
0
            }
242
0
        } else {
243
0
            if (j > 0) {
  Branch (243:17): [True: 0, False: 0]
  Branch (243:17): [True: 0, False: 0]
  Branch (243:17): [True: 0, False: 0]
  Branch (243:17): [True: 0, False: 0]
  Branch (243:17): [True: 0, False: 0]
  Branch (243:17): [True: 0, False: 0]
  Branch (243:17): [True: 0, False: 0]
  Branch (243:17): [True: 0, False: 0]
  Branch (243:17): [True: 0, False: 0]
244
0
                return i < (std::numeric_limits<T>::min() / j);
245
0
            } else {
246
0
                return i != 0 && (j < (std::numeric_limits<T>::max() / i));
  Branch (246:24): [True: 0, False: 0]
  Branch (246:34): [True: 0, False: 0]
  Branch (246:24): [True: 0, False: 0]
  Branch (246:34): [True: 0, False: 0]
  Branch (246:24): [True: 0, False: 0]
  Branch (246:34): [True: 0, False: 0]
  Branch (246:24): [True: 0, False: 0]
  Branch (246:34): [True: 0, False: 0]
  Branch (246:24): [True: 0, False: 0]
  Branch (246:34): [True: 0, False: 0]
  Branch (246:24): [True: 0, False: 0]
  Branch (246:34): [True: 0, False: 0]
  Branch (246:24): [True: 0, False: 0]
  Branch (246:34): [True: 0, False: 0]
  Branch (246:24): [True: 0, False: 0]
  Branch (246:34): [True: 0, False: 0]
  Branch (246:24): [True: 0, False: 0]
  Branch (246:34): [True: 0, False: 0]
247
0
            }
248
0
        }
249
0
    } else {
250
0
        return j != 0 && i > std::numeric_limits<T>::max() / j;
  Branch (250:16): [True: 0, False: 0]
  Branch (250:26): [True: 0, False: 0]
  Branch (250:16): [True: 0, False: 0]
  Branch (250:26): [True: 0, False: 0]
  Branch (250:16): [True: 0, False: 0]
  Branch (250:26): [True: 0, False: 0]
  Branch (250:16): [True: 0, False: 0]
  Branch (250:26): [True: 0, False: 0]
  Branch (250:16): [True: 0, False: 0]
  Branch (250:26): [True: 0, False: 0]
  Branch (250:16): [True: 0, False: 0]
  Branch (250:26): [True: 0, False: 0]
  Branch (250:16): [True: 0, False: 0]
  Branch (250:26): [True: 0, False: 0]
  Branch (250:16): [True: 0, False: 0]
  Branch (250:26): [True: 0, False: 0]
  Branch (250:16): [True: 0, False: 0]
  Branch (250:26): [True: 0, False: 0]
251
0
    }
252
0
}
Unexecuted instantiation: _Z22MultiplicationOverflowIlEbT_S0_
Unexecuted instantiation: _Z22MultiplicationOverflowImEbT_S0_
Unexecuted instantiation: _Z22MultiplicationOverflowIiEbT_S0_
Unexecuted instantiation: _Z22MultiplicationOverflowIjEbT_S0_
Unexecuted instantiation: _Z22MultiplicationOverflowIsEbT_S0_
Unexecuted instantiation: _Z22MultiplicationOverflowItEbT_S0_
Unexecuted instantiation: _Z22MultiplicationOverflowIcEbT_S0_
Unexecuted instantiation: _Z22MultiplicationOverflowIhEbT_S0_
Unexecuted instantiation: _Z22MultiplicationOverflowIaEbT_S0_
253
254
[[nodiscard]] bool ContainsSpentInput(const CTransaction& tx, const CCoinsViewCache& inputs) noexcept;
255
256
/**
257
 * Sets errno to a value selected from the given std::array `errnos`.
258
 */
259
template <typename T, size_t size>
260
void SetFuzzedErrNo(FuzzedDataProvider& fuzzed_data_provider, const std::array<T, size>& errnos)
261
0
{
262
0
    errno = fuzzed_data_provider.PickValueInArray(errnos);
263
0
}
Unexecuted instantiation: _Z14SetFuzzedErrNoIiLm18EEvR18FuzzedDataProviderRKSt5arrayIT_XT0_EE
Unexecuted instantiation: _Z14SetFuzzedErrNoIiLm10EEvR18FuzzedDataProviderRKSt5arrayIT_XT0_EE
Unexecuted instantiation: _Z14SetFuzzedErrNoIiLm8EEvR18FuzzedDataProviderRKSt5arrayIT_XT0_EE
Unexecuted instantiation: _Z14SetFuzzedErrNoIiLm4EEvR18FuzzedDataProviderRKSt5arrayIT_XT0_EE
Unexecuted instantiation: _Z14SetFuzzedErrNoIiLm3EEvR18FuzzedDataProviderRKSt5arrayIT_XT0_EE
Unexecuted instantiation: _Z14SetFuzzedErrNoIiLm2EEvR18FuzzedDataProviderRKSt5arrayIT_XT0_EE
264
265
/*
266
 * Sets a fuzzed errno in the range [0, 133 (EHWPOISON)]. Can be used from functions emulating
267
 * standard library functions that set errno, or in other contexts where the value of errno
268
 * might be relevant for the execution path that will be taken.
269
 */
270
inline void SetFuzzedErrNo(FuzzedDataProvider& fuzzed_data_provider) noexcept
271
0
{
272
0
    errno = fuzzed_data_provider.ConsumeIntegralInRange<int>(0, 133);
273
0
}
274
275
/**
276
 * Returns a byte vector of specified size regardless of the number of remaining bytes available
277
 * from the fuzzer. Pads with zero value bytes if needed to achieve the specified size.
278
 */
279
template<typename B = uint8_t>
280
[[nodiscard]] inline std::vector<B> ConsumeFixedLengthByteVector(FuzzedDataProvider& fuzzed_data_provider, const size_t length) noexcept
281
0
{
282
0
    static_assert(sizeof(B) == 1);
283
0
    auto random_bytes = fuzzed_data_provider.ConsumeBytes<B>(length);
284
0
    random_bytes.resize(length);
285
0
    return random_bytes;
286
0
}
Unexecuted instantiation: _Z28ConsumeFixedLengthByteVectorISt4byteESt6vectorIT_SaIS2_EER18FuzzedDataProviderm
Unexecuted instantiation: _Z28ConsumeFixedLengthByteVectorIhESt6vectorIT_SaIS1_EER18FuzzedDataProviderm
287
288
class FuzzedFileProvider
289
{
290
    FuzzedDataProvider& m_fuzzed_data_provider;
291
    int64_t m_offset = 0;
292
293
public:
294
0
    FuzzedFileProvider(FuzzedDataProvider& fuzzed_data_provider) : m_fuzzed_data_provider{fuzzed_data_provider}
295
0
    {
296
0
    }
297
298
    FILE* open();
299
300
    static ssize_t read(void* cookie, char* buf, size_t size);
301
302
    static ssize_t write(void* cookie, const char* buf, size_t size);
303
304
    static int seek(void* cookie, int64_t* offset, int whence);
305
306
    static int close(void* cookie);
307
};
308
309
#define WRITE_TO_STREAM_CASE(type, consume) \
310
0
    [&] {                                   \
311
0
        type o = consume;                   \
312
0
        stream << o;                        \
313
0
    }
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE0_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE1_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE2_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE3_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE4_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE5_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE6_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE7_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE8_clEv
Unexecuted instantiation: _ZZ13WriteToStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE9_clEv
314
template <typename Stream>
315
void WriteToStream(FuzzedDataProvider& fuzzed_data_provider, Stream& stream) noexcept
316
0
{
317
0
    while (fuzzed_data_provider.ConsumeBool()) {
  Branch (317:12): [True: 0, False: 0]
318
0
        try {
319
0
            CallOneOf(
320
0
                fuzzed_data_provider,
321
0
                WRITE_TO_STREAM_CASE(bool, fuzzed_data_provider.ConsumeBool()),
322
0
                WRITE_TO_STREAM_CASE(int8_t, fuzzed_data_provider.ConsumeIntegral<int8_t>()),
323
0
                WRITE_TO_STREAM_CASE(uint8_t, fuzzed_data_provider.ConsumeIntegral<uint8_t>()),
324
0
                WRITE_TO_STREAM_CASE(int16_t, fuzzed_data_provider.ConsumeIntegral<int16_t>()),
325
0
                WRITE_TO_STREAM_CASE(uint16_t, fuzzed_data_provider.ConsumeIntegral<uint16_t>()),
326
0
                WRITE_TO_STREAM_CASE(int32_t, fuzzed_data_provider.ConsumeIntegral<int32_t>()),
327
0
                WRITE_TO_STREAM_CASE(uint32_t, fuzzed_data_provider.ConsumeIntegral<uint32_t>()),
328
0
                WRITE_TO_STREAM_CASE(int64_t, fuzzed_data_provider.ConsumeIntegral<int64_t>()),
329
0
                WRITE_TO_STREAM_CASE(uint64_t, fuzzed_data_provider.ConsumeIntegral<uint64_t>()),
330
0
                WRITE_TO_STREAM_CASE(std::string, fuzzed_data_provider.ConsumeRandomLengthString(32)),
331
0
                WRITE_TO_STREAM_CASE(std::vector<uint8_t>, ConsumeRandomLengthIntegralVector<uint8_t>(fuzzed_data_provider)));
332
0
        } catch (const std::ios_base::failure&) {
333
0
            break;
334
0
        }
335
0
    }
336
0
}
337
338
#define READ_FROM_STREAM_CASE(type) \
339
0
    [&] {                           \
340
0
        type o;                     \
341
0
        stream >> o;                \
342
0
    }
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE0_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE1_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE2_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE3_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE4_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE5_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE6_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE7_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE8_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_ENKUlvE9_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE0_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE1_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE2_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE3_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE4_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE5_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE6_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE7_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE8_clEv
Unexecuted instantiation: _ZZ14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_ENKUlvE9_clEv
343
template <typename Stream>
344
void ReadFromStream(FuzzedDataProvider& fuzzed_data_provider, Stream& stream) noexcept
345
0
{
346
0
    while (fuzzed_data_provider.ConsumeBool()) {
  Branch (346:12): [True: 0, False: 0]
  Branch (346:12): [True: 0, False: 0]
347
0
        try {
348
0
            CallOneOf(
349
0
                fuzzed_data_provider,
350
0
                READ_FROM_STREAM_CASE(bool),
351
0
                READ_FROM_STREAM_CASE(int8_t),
352
0
                READ_FROM_STREAM_CASE(uint8_t),
353
0
                READ_FROM_STREAM_CASE(int16_t),
354
0
                READ_FROM_STREAM_CASE(uint16_t),
355
0
                READ_FROM_STREAM_CASE(int32_t),
356
0
                READ_FROM_STREAM_CASE(uint32_t),
357
0
                READ_FROM_STREAM_CASE(int64_t),
358
0
                READ_FROM_STREAM_CASE(uint64_t),
359
0
                READ_FROM_STREAM_CASE(std::string),
360
0
                READ_FROM_STREAM_CASE(std::vector<uint8_t>));
361
0
        } catch (const std::ios_base::failure&) {
362
0
            break;
363
0
        }
364
0
    }
365
0
}
Unexecuted instantiation: _Z14ReadFromStreamI8AutoFileEvR18FuzzedDataProviderRT_
Unexecuted instantiation: _Z14ReadFromStreamI12BufferedFileEvR18FuzzedDataProviderRT_
366
367
inline void FinalizeHeader(CBlockHeader& header, const ChainstateManager& chainman)
368
0
{
369
0
    while (!CheckProofOfWork(header.GetHash(), header.nBits, chainman.GetParams().GetConsensus())) {
  Branch (369:12): [True: 0, False: 0]
370
0
        ++(header.nNonce);
371
0
    }
372
0
}
373
374
#endif // BITCOIN_TEST_FUZZ_UTIL_H