Changeset View
Changeset View
Standalone View
Standalone View
src/test/fuzz/net.cpp
| Show All 38 Lines | void test_one_input(const std::vector<uint8_t> &buffer) { | ||||
| const std::optional<CAddress> address_bind = | const std::optional<CAddress> address_bind = | ||||
| ConsumeDeserializable<CAddress>(fuzzed_data_provider); | ConsumeDeserializable<CAddress>(fuzzed_data_provider); | ||||
| if (!address_bind) { | if (!address_bind) { | ||||
| return; | return; | ||||
| } | } | ||||
| CNode node{ | CNode node{ | ||||
| fuzzed_data_provider.ConsumeIntegral<NodeId>(), | fuzzed_data_provider.ConsumeIntegral<NodeId>(), | ||||
| static_cast<ServiceFlags>( | |||||
| fuzzed_data_provider.ConsumeIntegral<uint64_t>()), | |||||
| INVALID_SOCKET, | INVALID_SOCKET, | ||||
| *address, | *address, | ||||
| fuzzed_data_provider.ConsumeIntegral<uint64_t>(), | fuzzed_data_provider.ConsumeIntegral<uint64_t>(), | ||||
| fuzzed_data_provider.ConsumeIntegral<uint64_t>(), | fuzzed_data_provider.ConsumeIntegral<uint64_t>(), | ||||
| fuzzed_data_provider.ConsumeIntegral<uint64_t>(), | fuzzed_data_provider.ConsumeIntegral<uint64_t>(), | ||||
| *address_bind, | *address_bind, | ||||
| fuzzed_data_provider.ConsumeRandomLengthString(32), | fuzzed_data_provider.ConsumeRandomLengthString(32), | ||||
| fuzzed_data_provider.PickValueInArray( | fuzzed_data_provider.PickValueInArray( | ||||
| ▲ Show 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | while (fuzzed_data_provider.ConsumeBool()) { | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| (void)node.GetAddrLocal(); | (void)node.GetAddrLocal(); | ||||
| (void)node.GetId(); | (void)node.GetId(); | ||||
| (void)node.GetLocalNonce(); | (void)node.GetLocalNonce(); | ||||
| (void)node.GetLocalServices(); | |||||
| const int ref_count = node.GetRefCount(); | const int ref_count = node.GetRefCount(); | ||||
| assert(ref_count >= 0); | assert(ref_count >= 0); | ||||
| (void)node.GetCommonVersion(); | (void)node.GetCommonVersion(); | ||||
| const NetPermissionFlags net_permission_flags = | const NetPermissionFlags net_permission_flags = | ||||
| fuzzed_data_provider.ConsumeBool() | fuzzed_data_provider.ConsumeBool() | ||||
| ? fuzzed_data_provider.PickValueInArray<NetPermissionFlags>( | ? fuzzed_data_provider.PickValueInArray<NetPermissionFlags>( | ||||
| {NetPermissionFlags::None, NetPermissionFlags::BloomFilter, | {NetPermissionFlags::None, NetPermissionFlags::BloomFilter, | ||||
| NetPermissionFlags::Relay, NetPermissionFlags::ForceRelay, | NetPermissionFlags::Relay, NetPermissionFlags::ForceRelay, | ||||
| NetPermissionFlags::NoBan, NetPermissionFlags::Mempool, | NetPermissionFlags::NoBan, NetPermissionFlags::Mempool, | ||||
| NetPermissionFlags::Implicit, NetPermissionFlags::All}) | NetPermissionFlags::Implicit, NetPermissionFlags::All}) | ||||
| : static_cast<NetPermissionFlags>( | : static_cast<NetPermissionFlags>( | ||||
| fuzzed_data_provider.ConsumeIntegral<uint32_t>()); | fuzzed_data_provider.ConsumeIntegral<uint32_t>()); | ||||
| (void)node.HasPermission(net_permission_flags); | (void)node.HasPermission(net_permission_flags); | ||||
| (void)node.ConnectedThroughNetwork(); | (void)node.ConnectedThroughNetwork(); | ||||
| } | } | ||||