Skip to content

Commit 44b05bf

Browse files
committed
Merge bitcoin/bitcoin#28091: fuzz: use ConnmanTestMsg in connman
ecfe507 fuzz: use `ConnmanTestMsg` in `connman` (brunoerg) Pull request description: Fixes #27980 Using `ConnmanTestMsg` we can add nodes and be more effective fuzzing functions like `DisconnectNode`, `FindNode`, `GetNodeStats` and other ones. ACKs for top commit: MarcoFalke: review ACK ecfe507 dergoegge: utACK ecfe507 Tree-SHA512: 97c363b422809f2e9755c082d1102237347abfab72c7baca417bd8975f8a595ddf3a085f8353dbdb9f17fb98fbfe830792bfc0b83451168458018faf6c239efa
2 parents e92013e + ecfe507 commit 44b05bf

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/test/fuzz/connman.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ FUZZ_TARGET(connman, .init = initialize_connman)
3232
{
3333
FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()};
3434
SetMockTime(ConsumeTime(fuzzed_data_provider));
35-
CConnman connman{fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
35+
ConnmanTestMsg connman{fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
3636
fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
3737
*g_setup->m_node.addrman,
3838
*g_setup->m_node.netgroupman,
@@ -41,6 +41,12 @@ FUZZ_TARGET(connman, .init = initialize_connman)
4141
CNode random_node = ConsumeNode(fuzzed_data_provider);
4242
CSubNet random_subnet;
4343
std::string random_string;
44+
45+
LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 100) {
46+
CNode& p2p_node{*ConsumeNodeAsUniquePtr(fuzzed_data_provider).release()};
47+
connman.AddTestNode(p2p_node);
48+
}
49+
4450
LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 10000) {
4551
CallOneOf(
4652
fuzzed_data_provider,
@@ -128,4 +134,6 @@ FUZZ_TARGET(connman, .init = initialize_connman)
128134
(void)connman.GetTotalBytesSent();
129135
(void)connman.GetTryNewOutboundPeer();
130136
(void)connman.GetUseAddrmanOutgoing();
137+
138+
connman.ClearTestNodes();
131139
}

0 commit comments

Comments
 (0)