Changeset View
Changeset View
Standalone View
Standalone View
src/test/fuzz/process_messages.cpp
Show All 40 Lines | void test_one_input(const std::vector<uint8_t> &buffer) { | ||||
ConnmanTestMsg &connman = *(ConnmanTestMsg *)g_setup->m_node.connman.get(); | ConnmanTestMsg &connman = *(ConnmanTestMsg *)g_setup->m_node.connman.get(); | ||||
std::vector<CNode *> peers; | std::vector<CNode *> peers; | ||||
const auto num_peers_to_add = | const auto num_peers_to_add = | ||||
fuzzed_data_provider.ConsumeIntegralInRange(1, 3); | fuzzed_data_provider.ConsumeIntegralInRange(1, 3); | ||||
for (int i = 0; i < num_peers_to_add; ++i) { | for (int i = 0; i < num_peers_to_add; ++i) { | ||||
const ServiceFlags service_flags = | const ServiceFlags service_flags = | ||||
ServiceFlags(fuzzed_data_provider.ConsumeIntegral<uint64_t>()); | ServiceFlags(fuzzed_data_provider.ConsumeIntegral<uint64_t>()); | ||||
const bool inbound{fuzzed_data_provider.ConsumeBool()}; | const ConnectionType conn_type = fuzzed_data_provider.PickValueInArray( | ||||
{ConnectionType::INBOUND, ConnectionType::OUTBOUND}); | |||||
const bool block_relay_only{fuzzed_data_provider.ConsumeBool()}; | const bool block_relay_only{fuzzed_data_provider.ConsumeBool()}; | ||||
peers.push_back( | peers.push_back( | ||||
std::make_unique<CNode>( | std::make_unique<CNode>( | ||||
i, service_flags, 0, INVALID_SOCKET, | i, service_flags, 0, INVALID_SOCKET, | ||||
CAddress{CService{in_addr{0x0100007f}, 7777}, NODE_NETWORK}, 0, | CAddress{CService{in_addr{0x0100007f}, 7777}, NODE_NETWORK}, 0, | ||||
0, CAddress{}, std::string{}, inbound, block_relay_only) | 0, CAddress{}, std::string{}, conn_type, block_relay_only) | ||||
.release()); | .release()); | ||||
CNode &p2p_node = *peers.back(); | CNode &p2p_node = *peers.back(); | ||||
p2p_node.fSuccessfullyConnected = true; | p2p_node.fSuccessfullyConnected = true; | ||||
p2p_node.fPauseSend = false; | p2p_node.fPauseSend = false; | ||||
p2p_node.nVersion = PROTOCOL_VERSION; | p2p_node.nVersion = PROTOCOL_VERSION; | ||||
p2p_node.SetSendVersion(PROTOCOL_VERSION); | p2p_node.SetSendVersion(PROTOCOL_VERSION); | ||||
g_setup->m_node.peer_logic->InitializeNode(config, &p2p_node); | g_setup->m_node.peer_logic->InitializeNode(config, &p2p_node); | ||||
Show All 31 Lines |