From 9f3e427228007de5a47db1c08a361f90e67288f9 Mon Sep 17 00:00:00 2001 From: marcofleon Date: Fri, 3 Jul 2026 17:25:19 +0100 Subject: [PATCH] fuzz: Remove ConsumeUniValue The helper created a UniValue with hard-coded constants, which isn't ideal for fuzz tests. Replace it in the ipc fuzz test with parsing a UniValue directly from the fuzzed data provider. --- src/ipc/test/fuzz/ipc.cpp | 3 ++- src/test/fuzz/util.cpp | 10 ---------- src/test/fuzz/util.h | 3 --- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/src/ipc/test/fuzz/ipc.cpp b/src/ipc/test/fuzz/ipc.cpp index 76374c43bb9..ab789f3aa33 100644 --- a/src/ipc/test/fuzz/ipc.cpp +++ b/src/ipc/test/fuzz/ipc.cpp @@ -123,7 +123,8 @@ FUZZ_TARGET(ipc, .init = initialize_ipc) assert(ipc.m_client->passScript(script) == expected); }, [&] { - UniValue value = ConsumeUniValue(fuzzed_data_provider); + UniValue value; + if (!value.read(fuzzed_data_provider.ConsumeRandomLengthString(512))) return; assert(ipc.m_client->passUniValue(value).write() == value.write()); }, [&] { diff --git a/src/test/fuzz/util.cpp b/src/test/fuzz/util.cpp index 3c4c0a20ed5..da0e2dea460 100644 --- a/src/test/fuzz/util.cpp +++ b/src/test/fuzz/util.cpp @@ -237,16 +237,6 @@ CKey ConsumePrivateKey(FuzzedDataProvider& fuzzed_data_provider, std::optional(-1'000'000, 1'000'000)); - value.pushKV("string", "ipc fuzz"); - - return value; -} - bool ContainsSpentInput(const CTransaction& tx, const CCoinsViewCache& inputs) noexcept { for (const CTxIn& tx_in : tx.vin) { diff --git a/src/test/fuzz/util.h b/src/test/fuzz/util.h index 0bcb6ccffd1..04edef0b7b1 100644 --- a/src/test/fuzz/util.h +++ b/src/test/fuzz/util.h @@ -5,7 +5,6 @@ #ifndef BITCOIN_TEST_FUZZ_UTIL_H #define BITCOIN_TEST_FUZZ_UTIL_H -#include #include #include #include @@ -229,8 +228,6 @@ template [[nodiscard]] CKey ConsumePrivateKey(FuzzedDataProvider& fuzzed_data_provider, std::optional compressed = std::nullopt) noexcept; -[[nodiscard]] UniValue ConsumeUniValue(FuzzedDataProvider& fuzzed_data_provider) noexcept; - template [[nodiscard]] bool MultiplicationOverflow(const T i, const T j) noexcept {