Bitcoin Core 28.99.0
P2P Digital Currency
protocol.cpp
Go to the documentation of this file.
1// Copyright (c) 2020 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#include <protocol.h>
7#include <test/fuzz/fuzz.h>
8#include <test/fuzz/util.h>
9
10#include <cstdint>
11#include <optional>
12#include <stdexcept>
13#include <vector>
14
15FUZZ_TARGET(protocol)
16{
17 FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
18 const std::optional<CInv> inv = ConsumeDeserializable<CInv>(fuzzed_data_provider);
19 if (!inv) {
20 return;
21 }
22 try {
23 (void)inv->GetMessageType();
24 } catch (const std::out_of_range&) {
25 }
26 (void)inv->ToString();
27 const std::optional<CInv> another_inv = ConsumeDeserializable<CInv>(fuzzed_data_provider);
28 if (!another_inv) {
29 return;
30 }
31 (void)(*inv < *another_inv);
32}
FUZZ_TARGET(protocol)
Definition: protocol.cpp:15