aboutsummaryrefslogtreecommitdiff
path: root/src/test/fuzz/script.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/fuzz/script.cpp')
-rw-r--r--src/test/fuzz/script.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/test/fuzz/script.cpp b/src/test/fuzz/script.cpp
index acc82f55f6..fe41a8c6ae 100644
--- a/src/test/fuzz/script.cpp
+++ b/src/test/fuzz/script.cpp
@@ -149,13 +149,16 @@ FUZZ_TARGET(script, .init = initialize_script)
const CTxDestination tx_destination_2{ConsumeTxDestination(fuzzed_data_provider)};
const std::string encoded_dest{EncodeDestination(tx_destination_1)};
const UniValue json_dest{DescribeAddress(tx_destination_1)};
- Assert(tx_destination_1 == DecodeDestination(encoded_dest));
(void)GetKeyForDestination(/*store=*/{}, tx_destination_1);
const CScript dest{GetScriptForDestination(tx_destination_1)};
const bool valid{IsValidDestination(tx_destination_1)};
- Assert(dest.empty() != valid);
- Assert(valid == IsValidDestinationString(encoded_dest));
+ if (!std::get_if<PubKeyDestination>(&tx_destination_1)) {
+ // Only try to round trip non-pubkey destinations since PubKeyDestination has no encoding
+ Assert(dest.empty() != valid);
+ Assert(tx_destination_1 == DecodeDestination(encoded_dest));
+ Assert(valid == IsValidDestinationString(encoded_dest));
+ }
(void)(tx_destination_1 < tx_destination_2);
if (tx_destination_1 == tx_destination_2) {