Bitcoin Core Fuzz Coverage Report

Coverage Report

Created: 2026-05-28 15:05

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/Users/brunogarcia/projects/bitcoin-core-dev/src/netmessagemaker.h
Line
Count
Source
1
// Copyright (c) 2009-2010 Satoshi Nakamoto
2
// Copyright (c) 2009-present The Bitcoin Core developers
3
// Distributed under the MIT software license, see the accompanying
4
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6
#ifndef BITCOIN_NETMESSAGEMAKER_H
7
#define BITCOIN_NETMESSAGEMAKER_H
8
9
#include <net.h>
10
#include <serialize.h>
11
12
namespace NetMsg {
13
    template <typename... Args>
14
    CSerializedNetMsg Make(std::string msg_type, Args&&... args)
15
11.3k
    {
16
11.3k
        CSerializedNetMsg msg;
17
11.3k
        msg.m_type = std::move(msg_type);
18
11.3k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
11.3k
        return msg;
20
11.3k
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, std::__1::vector<CBlock, std::__1::allocator<CBlock>>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, ParamsWrapper<TransactionSerParams, std::__1::vector<CBlock, std::__1::allocator<CBlock>>>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CBlockHeaderAndShortTxIDs>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, ParamsWrapper<TransactionSerParams, CBlockHeaderAndShortTxIDs>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CBlock>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, ParamsWrapper<TransactionSerParams, CBlock>&&)
CSerializedNetMsg NetMsg::Make<std::__1::vector<CInv, std::__1::allocator<CInv>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<CInv, std::__1::allocator<CInv>>&&)
Line
Count
Source
15
938
    {
16
938
        CSerializedNetMsg msg;
17
938
        msg.m_type = std::move(msg_type);
18
938
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
938
        return msg;
20
938
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::__1::span<std::byte, 18446744073709551615ul>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::span<std::byte, 18446744073709551615ul>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<int&, Wrapper<CustomUintFormatter<8, false>, ServiceFlags&>, long long, long long, ParamsWrapper<CNetAddr::SerParams, CService>, long long, ParamsWrapper<CNetAddr::SerParams, CService>, unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, int, bool&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, int&, Wrapper<CustomUintFormatter<8, false>, ServiceFlags&>&&, long long&&, long long&&, ParamsWrapper<CNetAddr::SerParams, CService>&&, long long&&, ParamsWrapper<CNetAddr::SerParams, CService>&&, unsigned long long&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&&, int&&, bool&)
CSerializedNetMsg NetMsg::Make<>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)
Line
Count
Source
15
5.71k
    {
16
5.71k
        CSerializedNetMsg msg;
17
5.71k
        msg.m_type = std::move(msg_type);
18
5.71k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
5.71k
        return msg;
20
5.71k
    }
CSerializedNetMsg NetMsg::Make<bool, unsigned long long const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, bool&&, unsigned long long const&)
Line
Count
Source
15
266
    {
16
266
        CSerializedNetMsg msg;
17
266
        msg.m_type = std::move(msg_type);
18
266
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
266
        return msg;
20
266
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<CBlockHeaderAndShortTxIDs const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, CBlockHeaderAndShortTxIDs const&)
CSerializedNetMsg NetMsg::Make<std::__1::vector<CInv, std::__1::allocator<CInv>>&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<CInv, std::__1::allocator<CInv>>&)
Line
Count
Source
15
17
    {
16
17
        CSerializedNetMsg msg;
17
17
        msg.m_type = std::move(msg_type);
18
17
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
17
        return msg;
20
17
    }
CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CTransaction const>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, ParamsWrapper<TransactionSerParams, CTransaction const>&&)
Line
Count
Source
15
685
    {
16
685
        CSerializedNetMsg msg;
17
685
        msg.m_type = std::move(msg_type);
18
685
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
685
        return msg;
20
685
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::__1::span<std::byte const, 18446744073709551615ul>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::span<std::byte const, 18446744073709551615ul>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CBlock const>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, ParamsWrapper<TransactionSerParams, CBlock const>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<CMerkleBlock&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, CMerkleBlock&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<CBlockHeaderAndShortTxIDs&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, CBlockHeaderAndShortTxIDs&)
CSerializedNetMsg NetMsg::Make<int const&, unsigned long long&, long long&, unsigned long long&, ParamsWrapper<CNetAddr::SerParams, CService>, unsigned long long&, ParamsWrapper<CNetAddr::SerParams, CService>, unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, int&, bool&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, int const&, unsigned long long&, long long&, unsigned long long&, ParamsWrapper<CNetAddr::SerParams, CService>&&, unsigned long long&, ParamsWrapper<CNetAddr::SerParams, CService>&&, unsigned long long&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, int&, bool&)
Line
Count
Source
15
1.82k
    {
16
1.82k
        CSerializedNetMsg msg;
17
1.82k
        msg.m_type = std::move(msg_type);
18
1.82k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
1.82k
        return msg;
20
1.82k
    }
CSerializedNetMsg NetMsg::Make<unsigned int const&, unsigned long long const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned int const&, unsigned long long const&)
Line
Count
Source
15
207
    {
16
207
        CSerializedNetMsg msg;
17
207
        msg.m_type = std::move(msg_type);
18
207
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
207
        return msg;
20
207
    }
CSerializedNetMsg NetMsg::Make<std::__1::array<std::byte, 168ul> const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::array<std::byte, 168ul> const&)
Line
Count
Source
15
127
    {
16
127
        CSerializedNetMsg msg;
17
127
        msg.m_type = std::move(msg_type);
18
127
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
127
        return msg;
20
127
    }
CSerializedNetMsg NetMsg::Make<CBlockLocator const&, uint256>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, CBlockLocator const&, uint256&&)
Line
Count
Source
15
277
    {
16
277
        CSerializedNetMsg msg;
17
277
        msg.m_type = std::move(msg_type);
18
277
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
277
        return msg;
20
277
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<BlockTransactions&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BlockTransactions&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::__1::vector<CBlockHeader, std::__1::allocator<CBlockHeader>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<CBlockHeader, std::__1::allocator<CBlockHeader>>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<BlockTransactionsRequest&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BlockTransactionsRequest&)
CSerializedNetMsg NetMsg::Make<unsigned long long&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned long long&)
Line
Count
Source
15
1.10k
    {
16
1.10k
        CSerializedNetMsg msg;
17
1.10k
        msg.m_type = std::move(msg_type);
18
1.10k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
1.10k
        return msg;
20
1.10k
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<BlockFilter const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BlockFilter const&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<unsigned char&, uint256, uint256&, std::__1::vector<uint256, std::__1::allocator<uint256>>&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned char&, uint256&&, uint256&, std::__1::vector<uint256, std::__1::allocator<uint256>>&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<unsigned char&, uint256, std::__1::vector<uint256, std::__1::allocator<uint256>>&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned char&, uint256&&, std::__1::vector<uint256, std::__1::allocator<uint256>>&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<ParamsWrapper<CAddress::SerParams, std::__1::vector<CAddress, std::__1::allocator<CAddress>>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, ParamsWrapper<CAddress::SerParams, std::__1::vector<CAddress, std::__1::allocator<CAddress>>>&&)
CSerializedNetMsg NetMsg::Make<long long&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, long long&)
Line
Count
Source
15
161
    {
16
161
        CSerializedNetMsg msg;
17
161
        msg.m_type = std::move(msg_type);
18
161
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
161
        return msg;
20
161
    }
21
} // namespace NetMsg
22
23
#endif // BITCOIN_NETMESSAGEMAKER_H