Skip to content

Commit eeee43b

Browse files
author
MarcoFalke
committed
fuzz: Use ConsumeWeakEnum for ServiceFlags
1 parent fa9949b commit eeee43b

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

src/test/fuzz/connman.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ FUZZ_TARGET_INIT(connman, initialize_connman)
128128
connman.SetNetworkActive(fuzzed_data_provider.ConsumeBool());
129129
break;
130130
case 26:
131-
connman.SetServices(random_service, static_cast<ServiceFlags>(fuzzed_data_provider.ConsumeIntegral<uint64_t>()));
131+
connman.SetServices(random_service, ConsumeWeakEnum(fuzzed_data_provider, ALL_SERVICE_FLAGS));
132132
break;
133133
case 27:
134134
connman.SetTryNewOutboundPeer(fuzzed_data_provider.ConsumeBool());

src/test/fuzz/util.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,14 +292,14 @@ inline CService ConsumeService(FuzzedDataProvider& fuzzed_data_provider) noexcep
292292

293293
inline CAddress ConsumeAddress(FuzzedDataProvider& fuzzed_data_provider) noexcept
294294
{
295-
return {ConsumeService(fuzzed_data_provider), static_cast<ServiceFlags>(fuzzed_data_provider.ConsumeIntegral<uint64_t>()), fuzzed_data_provider.ConsumeIntegral<uint32_t>()};
295+
return {ConsumeService(fuzzed_data_provider), ConsumeWeakEnum(fuzzed_data_provider, ALL_SERVICE_FLAGS), fuzzed_data_provider.ConsumeIntegral<uint32_t>()};
296296
}
297297

298298
template <bool ReturnUniquePtr = false>
299299
auto ConsumeNode(FuzzedDataProvider& fuzzed_data_provider, const std::optional<NodeId>& node_id_in = nullopt) noexcept
300300
{
301301
const NodeId node_id = node_id_in.value_or(fuzzed_data_provider.ConsumeIntegral<NodeId>());
302-
const ServiceFlags local_services = static_cast<ServiceFlags>(fuzzed_data_provider.ConsumeIntegral<uint64_t>());
302+
const ServiceFlags local_services = ConsumeWeakEnum(fuzzed_data_provider, ALL_SERVICE_FLAGS);
303303
const SOCKET socket = INVALID_SOCKET;
304304
const CAddress address = ConsumeAddress(fuzzed_data_provider);
305305
const uint64_t keyed_net_group = fuzzed_data_provider.ConsumeIntegral<uint64_t>();

src/test/util/net.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@ struct ConnmanTestMsg : public CConnman {
3030
bool ReceiveMsgFrom(CNode& node, CSerializedNetMsg& ser_msg) const;
3131
};
3232

33+
constexpr ServiceFlags ALL_SERVICE_FLAGS[]{
34+
NODE_NONE,
35+
NODE_NETWORK,
36+
NODE_BLOOM,
37+
NODE_WITNESS,
38+
NODE_COMPACT_FILTERS,
39+
NODE_NETWORK_LIMITED,
40+
};
41+
3342
constexpr NetPermissionFlags ALL_NET_PERMISSION_FLAGS[]{
3443
NetPermissionFlags::PF_NONE,
3544
NetPermissionFlags::PF_BLOOMFILTER,

0 commit comments

Comments
 (0)