From 6538f6913570814ddacd5645529ba42c2e41185c Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Wed, 3 Apr 2024 18:38:51 -0400 Subject: [PATCH] fuzz: Skip adding descriptor to wallet if it cannot be expanded --- src/wallet/test/fuzz/scriptpubkeyman.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/wallet/test/fuzz/scriptpubkeyman.cpp b/src/wallet/test/fuzz/scriptpubkeyman.cpp index 341543ff412..d251df29a4a 100644 --- a/src/wallet/test/fuzz/scriptpubkeyman.cpp +++ b/src/wallet/test/fuzz/scriptpubkeyman.cpp @@ -70,6 +70,13 @@ static std::optional> CreateWal std::vector> parsed_descs = Parse(desc_str.value(), keys, error, false); if (parsed_descs.empty()) return std::nullopt; + // Verify expand succeeds before making WalletDescriptor + // Expansion results are not needed + FlatSigningProvider out_keys; + std::vector scripts_temp; + DescriptorCache temp_cache; + if (!parsed_descs.at(0)->Expand(0, keys, scripts_temp, out_keys, &temp_cache)) return std::nullopt; + WalletDescriptor w_desc{std::move(parsed_descs.at(0)), /*creation_time=*/0, /*range_start=*/0, /*range_end=*/1, /*next_index=*/1}; return std::make_pair(w_desc, keys); }