diff options
author | MarcoFalke <falke.marco@gmail.com> | 2020-12-25 07:41:09 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2020-12-25 07:41:43 +0100 |
commit | 443988d40699e2693a9269cc2c72808b09288b34 (patch) | |
tree | 9e4b02bee947382fbcd913adbdb5a08248043bb9 /src | |
parent | 1b31695c747eb9a99bf602f6dd4fde9b993f0740 (diff) | |
parent | fa2630328687645fbc7dd1ea46aac32514025715 (diff) |
Merge #20761: fuzz: Check that NULL_DATA is unspendable
fa2630328687645fbc7dd1ea46aac32514025715 fuzz: Check that NULL_DATA is unspendable (MarcoFalke)
Pull request description:
* Every script of type NULL_DATA must be unspendable
* The only know types of unspendable scripts are NULL_DATA and certain NONSTANDARD scripts
ACKs for top commit:
sipa:
utACK fa2630328687645fbc7dd1ea46aac32514025715
Tree-SHA512: 8297fbacf32b4868b12accc1c052d352d02d96540a1fc883de9d04a3df8734116deecc33046495c9a3af6d79fec7f8d63afbfa5e401a2ca8d7c70f0f13735c0d
Diffstat (limited to 'src')
-rw-r--r-- | src/test/fuzz/script.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/test/fuzz/script.cpp b/src/test/fuzz/script.cpp index 892af655f6..f43689290a 100644 --- a/src/test/fuzz/script.cpp +++ b/src/test/fuzz/script.cpp @@ -72,6 +72,13 @@ FUZZ_TARGET_INIT(script, initialize_script) TxoutType which_type; (void)IsStandard(script, which_type); + if (which_type == TxoutType::NULL_DATA) { + assert(script.IsUnspendable()); + } + if (script.IsUnspendable()) { + assert(which_type == TxoutType::NULL_DATA || + which_type == TxoutType::NONSTANDARD); + } (void)RecursiveDynamicUsage(script); @@ -82,7 +89,6 @@ FUZZ_TARGET_INIT(script, initialize_script) (void)script.IsPayToScriptHash(); (void)script.IsPayToWitnessScriptHash(); (void)script.IsPushOnly(); - (void)script.IsUnspendable(); (void)script.GetSigOpCount(/* fAccurate= */ false); (void)FormatScript(script); |