fuzz coverage

Coverage Report

Created: 2026-04-24 13:48

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/root/bitcoin/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
42.0M
    {
16
42.0M
        CSerializedNetMsg msg;
17
42.0M
        msg.m_type = std::move(msg_type);
18
42.0M
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
42.0M
        return msg;
20
42.0M
    }
CSerializedNetMsg NetMsg::Make<CBlockHeaderAndShortTxIDs&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, CBlockHeaderAndShortTxIDs&)
Line
Count
Source
15
4.00M
    {
16
4.00M
        CSerializedNetMsg msg;
17
4.00M
        msg.m_type = std::move(msg_type);
18
4.00M
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
4.00M
        return msg;
20
4.00M
    }
CSerializedNetMsg NetMsg::Make<BlockTransactions&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, BlockTransactions&)
Line
Count
Source
15
975k
    {
16
975k
        CSerializedNetMsg msg;
17
975k
        msg.m_type = std::move(msg_type);
18
975k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
975k
        return msg;
20
975k
    }
CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, std::vector<CBlock, std::allocator<CBlock>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ParamsWrapper<TransactionSerParams, std::vector<CBlock, std::allocator<CBlock>>>&&)
Line
Count
Source
15
9.02M
    {
16
9.02M
        CSerializedNetMsg msg;
17
9.02M
        msg.m_type = std::move(msg_type);
18
9.02M
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
9.02M
        return msg;
20
9.02M
    }
CSerializedNetMsg NetMsg::Make<bool&, unsigned long&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool&, unsigned long&)
Line
Count
Source
15
1.87M
    {
16
1.87M
        CSerializedNetMsg msg;
17
1.87M
        msg.m_type = std::move(msg_type);
18
1.87M
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
1.87M
        return msg;
20
1.87M
    }
CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CTransaction const>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ParamsWrapper<TransactionSerParams, CTransaction const>&&)
Line
Count
Source
15
18.1M
    {
16
18.1M
        CSerializedNetMsg msg;
17
18.1M
        msg.m_type = std::move(msg_type);
18
18.1M
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
18.1M
        return msg;
20
18.1M
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CBlockHeaderAndShortTxIDs>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ParamsWrapper<TransactionSerParams, CBlockHeaderAndShortTxIDs>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CBlock>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ParamsWrapper<TransactionSerParams, CBlock>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::span<std::byte, 18446744073709551615ul>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::span<std::byte, 18446744073709551615ul>&&)
CSerializedNetMsg NetMsg::Make<int&, Wrapper<CustomUintFormatter<8, false>, ServiceFlags&>, long, long, ParamsWrapper<CNetAddr::SerParams, CService>, long, ParamsWrapper<CNetAddr::SerParams, CService>, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, bool&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int&, Wrapper<CustomUintFormatter<8, false>, ServiceFlags&>&&, long&&, long&&, ParamsWrapper<CNetAddr::SerParams, CService>&&, long&&, ParamsWrapper<CNetAddr::SerParams, CService>&&, unsigned long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&, int&&, bool&)
Line
Count
Source
15
762k
    {
16
762k
        CSerializedNetMsg msg;
17
762k
        msg.m_type = std::move(msg_type);
18
762k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
762k
        return msg;
20
762k
    }
CSerializedNetMsg NetMsg::Make<>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Line
Count
Source
15
3.06M
    {
16
3.06M
        CSerializedNetMsg msg;
17
3.06M
        msg.m_type = std::move(msg_type);
18
3.06M
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
3.06M
        return msg;
20
3.06M
    }
CSerializedNetMsg NetMsg::Make<bool, unsigned long const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool&&, unsigned long const&)
Line
Count
Source
15
543k
    {
16
543k
        CSerializedNetMsg msg;
17
543k
        msg.m_type = std::move(msg_type);
18
543k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
543k
        return msg;
20
543k
    }
CSerializedNetMsg NetMsg::Make<CBlockHeaderAndShortTxIDs const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, CBlockHeaderAndShortTxIDs const&)
Line
Count
Source
15
48.5k
    {
16
48.5k
        CSerializedNetMsg msg;
17
48.5k
        msg.m_type = std::move(msg_type);
18
48.5k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
48.5k
        return msg;
20
48.5k
    }
CSerializedNetMsg NetMsg::Make<std::vector<CInv, std::allocator<CInv>>&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<CInv, std::allocator<CInv>>&)
Line
Count
Source
15
1.31M
    {
16
1.31M
        CSerializedNetMsg msg;
17
1.31M
        msg.m_type = std::move(msg_type);
18
1.31M
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
1.31M
        return msg;
20
1.31M
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::span<std::byte const, 18446744073709551615ul>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::span<std::byte const, 18446744073709551615ul>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CBlock const>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ParamsWrapper<TransactionSerParams, CBlock const>&&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<CMerkleBlock&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, CMerkleBlock&)
CSerializedNetMsg NetMsg::Make<int const&, unsigned long&, long&, unsigned long&, ParamsWrapper<CNetAddr::SerParams, CService>, unsigned long&, ParamsWrapper<CNetAddr::SerParams, CService>, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, int&, bool&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int const&, unsigned long&, long&, unsigned long&, ParamsWrapper<CNetAddr::SerParams, CService>&&, unsigned long&, ParamsWrapper<CNetAddr::SerParams, CService>&&, unsigned long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, int&, bool&)
Line
Count
Source
15
756k
    {
16
756k
        CSerializedNetMsg msg;
17
756k
        msg.m_type = std::move(msg_type);
18
756k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
756k
        return msg;
20
756k
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<unsigned int const&, unsigned long const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, unsigned int const&, unsigned long const&)
CSerializedNetMsg NetMsg::Make<std::array<std::byte, 168ul> const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::array<std::byte, 168ul> const&)
Line
Count
Source
15
60.3k
    {
16
60.3k
        CSerializedNetMsg msg;
17
60.3k
        msg.m_type = std::move(msg_type);
18
60.3k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
60.3k
        return msg;
20
60.3k
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::vector<CInv, std::allocator<CInv>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<CInv, std::allocator<CInv>>&&)
CSerializedNetMsg NetMsg::Make<CBlockLocator const&, uint256>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, CBlockLocator const&, uint256&&)
Line
Count
Source
15
207k
    {
16
207k
        CSerializedNetMsg msg;
17
207k
        msg.m_type = std::move(msg_type);
18
207k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
207k
        return msg;
20
207k
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::vector<CBlockHeader, std::allocator<CBlockHeader>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<CBlockHeader, std::allocator<CBlockHeader>>&&)
CSerializedNetMsg NetMsg::Make<BlockTransactionsRequest&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, BlockTransactionsRequest&)
Line
Count
Source
15
42.9k
    {
16
42.9k
        CSerializedNetMsg msg;
17
42.9k
        msg.m_type = std::move(msg_type);
18
42.9k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
42.9k
        return msg;
20
42.9k
    }
CSerializedNetMsg NetMsg::Make<unsigned long&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, unsigned long&)
Line
Count
Source
15
513k
    {
16
513k
        CSerializedNetMsg msg;
17
513k
        msg.m_type = std::move(msg_type);
18
513k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
513k
        return msg;
20
513k
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<BlockFilter const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, BlockFilter const&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<unsigned char&, uint256, uint256&, std::vector<uint256, std::allocator<uint256>>&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, unsigned char&, uint256&&, uint256&, std::vector<uint256, std::allocator<uint256>>&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<unsigned char&, uint256, std::vector<uint256, std::allocator<uint256>>&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, unsigned char&, uint256&&, std::vector<uint256, std::allocator<uint256>>&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<ParamsWrapper<CAddress::SerParams, std::vector<CAddress, std::allocator<CAddress>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ParamsWrapper<CAddress::SerParams, std::vector<CAddress, std::allocator<CAddress>>>&&)
CSerializedNetMsg NetMsg::Make<long&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, long&)
Line
Count
Source
15
731k
    {
16
731k
        CSerializedNetMsg msg;
17
731k
        msg.m_type = std::move(msg_type);
18
731k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
731k
        return msg;
20
731k
    }
21
} // namespace NetMsg
22
23
#endif // BITCOIN_NETMESSAGEMAKER_H