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(); | ||||
| } | } | ||||