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