mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-05-06 18:01:03 +02:00
fuzz: Use ConsumeWeakEnum for ServiceFlags
This commit is contained in:
parent
fa9949b914
commit
eeee43bc48
@ -128,7 +128,7 @@ FUZZ_TARGET_INIT(connman, initialize_connman)
|
|||||||
connman.SetNetworkActive(fuzzed_data_provider.ConsumeBool());
|
connman.SetNetworkActive(fuzzed_data_provider.ConsumeBool());
|
||||||
break;
|
break;
|
||||||
case 26:
|
case 26:
|
||||||
connman.SetServices(random_service, static_cast<ServiceFlags>(fuzzed_data_provider.ConsumeIntegral<uint64_t>()));
|
connman.SetServices(random_service, ConsumeWeakEnum(fuzzed_data_provider, ALL_SERVICE_FLAGS));
|
||||||
break;
|
break;
|
||||||
case 27:
|
case 27:
|
||||||
connman.SetTryNewOutboundPeer(fuzzed_data_provider.ConsumeBool());
|
connman.SetTryNewOutboundPeer(fuzzed_data_provider.ConsumeBool());
|
||||||
|
@ -292,14 +292,14 @@ inline CService ConsumeService(FuzzedDataProvider& fuzzed_data_provider) noexcep
|
|||||||
|
|
||||||
inline CAddress ConsumeAddress(FuzzedDataProvider& fuzzed_data_provider) noexcept
|
inline CAddress ConsumeAddress(FuzzedDataProvider& fuzzed_data_provider) noexcept
|
||||||
{
|
{
|
||||||
return {ConsumeService(fuzzed_data_provider), static_cast<ServiceFlags>(fuzzed_data_provider.ConsumeIntegral<uint64_t>()), fuzzed_data_provider.ConsumeIntegral<uint32_t>()};
|
return {ConsumeService(fuzzed_data_provider), ConsumeWeakEnum(fuzzed_data_provider, ALL_SERVICE_FLAGS), fuzzed_data_provider.ConsumeIntegral<uint32_t>()};
|
||||||
}
|
}
|
||||||
|
|
||||||
template <bool ReturnUniquePtr = false>
|
template <bool ReturnUniquePtr = false>
|
||||||
auto ConsumeNode(FuzzedDataProvider& fuzzed_data_provider, const std::optional<NodeId>& node_id_in = nullopt) noexcept
|
auto ConsumeNode(FuzzedDataProvider& fuzzed_data_provider, const std::optional<NodeId>& node_id_in = nullopt) noexcept
|
||||||
{
|
{
|
||||||
const NodeId node_id = node_id_in.value_or(fuzzed_data_provider.ConsumeIntegral<NodeId>());
|
const NodeId node_id = node_id_in.value_or(fuzzed_data_provider.ConsumeIntegral<NodeId>());
|
||||||
const ServiceFlags local_services = static_cast<ServiceFlags>(fuzzed_data_provider.ConsumeIntegral<uint64_t>());
|
const ServiceFlags local_services = ConsumeWeakEnum(fuzzed_data_provider, ALL_SERVICE_FLAGS);
|
||||||
const SOCKET socket = INVALID_SOCKET;
|
const SOCKET socket = INVALID_SOCKET;
|
||||||
const CAddress address = ConsumeAddress(fuzzed_data_provider);
|
const CAddress address = ConsumeAddress(fuzzed_data_provider);
|
||||||
const uint64_t keyed_net_group = fuzzed_data_provider.ConsumeIntegral<uint64_t>();
|
const uint64_t keyed_net_group = fuzzed_data_provider.ConsumeIntegral<uint64_t>();
|
||||||
|
@ -30,6 +30,15 @@ struct ConnmanTestMsg : public CConnman {
|
|||||||
bool ReceiveMsgFrom(CNode& node, CSerializedNetMsg& ser_msg) const;
|
bool ReceiveMsgFrom(CNode& node, CSerializedNetMsg& ser_msg) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
constexpr ServiceFlags ALL_SERVICE_FLAGS[]{
|
||||||
|
NODE_NONE,
|
||||||
|
NODE_NETWORK,
|
||||||
|
NODE_BLOOM,
|
||||||
|
NODE_WITNESS,
|
||||||
|
NODE_COMPACT_FILTERS,
|
||||||
|
NODE_NETWORK_LIMITED,
|
||||||
|
};
|
||||||
|
|
||||||
constexpr NetPermissionFlags ALL_NET_PERMISSION_FLAGS[]{
|
constexpr NetPermissionFlags ALL_NET_PERMISSION_FLAGS[]{
|
||||||
NetPermissionFlags::PF_NONE,
|
NetPermissionFlags::PF_NONE,
|
||||||
NetPermissionFlags::PF_BLOOMFILTER,
|
NetPermissionFlags::PF_BLOOMFILTER,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user