/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 |