Changeset View
Changeset View
Standalone View
Standalone View
src/test/fuzz/process_message.cpp
Show First 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | if (!LIMIT_TO_MESSAGE_TYPE.empty() && | ||||
random_message_type != LIMIT_TO_MESSAGE_TYPE) { | random_message_type != LIMIT_TO_MESSAGE_TYPE) { | ||||
return; | return; | ||||
} | } | ||||
CDataStream random_bytes_data_stream{ | CDataStream random_bytes_data_stream{ | ||||
fuzzed_data_provider.ConsumeRemainingBytes<uint8_t>(), SER_NETWORK, | fuzzed_data_provider.ConsumeRemainingBytes<uint8_t>(), SER_NETWORK, | ||||
PROTOCOL_VERSION}; | PROTOCOL_VERSION}; | ||||
CNode &p2p_node = | CNode &p2p_node = | ||||
*std::make_unique<CNode>( | *std::make_unique<CNode>( | ||||
0, ServiceFlags(NODE_NETWORK | NODE_BLOOM), INVALID_SOCKET, | 0, INVALID_SOCKET, | ||||
CAddress{CService{in_addr{0x0100007f}, 7777}, NODE_NETWORK}, 0, 0, | CAddress{CService{in_addr{0x0100007f}, 7777}, NODE_NETWORK}, 0, 0, | ||||
0, CAddress{}, std::string{}, ConnectionType::OUTBOUND_FULL_RELAY, | 0, CAddress{}, std::string{}, ConnectionType::OUTBOUND_FULL_RELAY, | ||||
false) | false) | ||||
.release(); | .release(); | ||||
p2p_node.fSuccessfullyConnected = true; | p2p_node.fSuccessfullyConnected = true; | ||||
p2p_node.nVersion = PROTOCOL_VERSION; | p2p_node.nVersion = PROTOCOL_VERSION; | ||||
p2p_node.SetCommonVersion(PROTOCOL_VERSION); | p2p_node.SetCommonVersion(PROTOCOL_VERSION); | ||||
connman.AddTestNode(p2p_node); | connman.AddTestNode(p2p_node); | ||||
g_setup->m_node.peerman->InitializeNode(config, p2p_node, | g_setup->m_node.peerman->InitializeNode( | ||||
p2p_node.GetLocalServices()); | config, p2p_node, ServiceFlags(NODE_NETWORK | NODE_BLOOM)); | ||||
try { | try { | ||||
g_setup->m_node.peerman->ProcessMessage( | g_setup->m_node.peerman->ProcessMessage( | ||||
config, p2p_node, random_message_type, random_bytes_data_stream, | config, p2p_node, random_message_type, random_bytes_data_stream, | ||||
GetTime<std::chrono::microseconds>(), std::atomic<bool>{false}); | GetTime<std::chrono::microseconds>(), std::atomic<bool>{false}); | ||||
} catch (const std::ios_base::failure &) { | } catch (const std::ios_base::failure &) { | ||||
} | } | ||||
SyncWithValidationInterfaceQueue(); | SyncWithValidationInterfaceQueue(); | ||||
g_setup->m_node.connman->StopNodes(); | g_setup->m_node.connman->StopNodes(); | ||||
} | } |