Skip to content

Commit fae3f17

Browse files
author
MarcoFalke
committed
fuzz: Split script formatting from script fuzz target
1 parent 7164e00 commit fae3f17

File tree

3 files changed

+31
-8
lines changed

3 files changed

+31
-8
lines changed

src/Makefile.test.include

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ test_fuzz_fuzz_SOURCES = \
294294
test/fuzz/script_bitcoin_consensus.cpp \
295295
test/fuzz/script_descriptor_cache.cpp \
296296
test/fuzz/script_flags.cpp \
297+
test/fuzz/script_format.cpp \
297298
test/fuzz/script_interpreter.cpp \
298299
test/fuzz/script_ops.cpp \
299300
test/fuzz/script_sigcache.cpp \

src/test/fuzz/script.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,4 @@ FUZZ_TARGET_INIT(script, initialize_script)
167167
Assert(dest == GetScriptForDestination(tx_destination_2));
168168
}
169169
}
170-
171-
(void)FormatScript(script);
172-
(void)ScriptToAsmStr(script, /*fAttemptSighashDecode=*/fuzzed_data_provider.ConsumeBool());
173-
174-
UniValue o1(UniValue::VOBJ);
175-
ScriptPubKeyToUniv(script, o1, /*include_hex=*/fuzzed_data_provider.ConsumeBool());
176-
UniValue o3(UniValue::VOBJ);
177-
ScriptToUniv(script, o3);
178170
}

src/test/fuzz/script_format.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Copyright (c) 2019-2022 The Bitcoin Core developers
2+
// Distributed under the MIT software license, see the accompanying
3+
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4+
5+
#include <chainparams.h>
6+
#include <core_io.h>
7+
#include <script/script.h>
8+
#include <test/fuzz/FuzzedDataProvider.h>
9+
#include <test/fuzz/fuzz.h>
10+
#include <test/fuzz/util.h>
11+
#include <univalue.h>
12+
13+
void initialize_script_format()
14+
{
15+
SelectParams(CBaseChainParams::REGTEST);
16+
}
17+
18+
FUZZ_TARGET_INIT(script_format, initialize_script_format)
19+
{
20+
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
21+
const CScript script{ConsumeScript(fuzzed_data_provider)};
22+
23+
(void)FormatScript(script);
24+
(void)ScriptToAsmStr(script, /*fAttemptSighashDecode=*/fuzzed_data_provider.ConsumeBool());
25+
26+
UniValue o1(UniValue::VOBJ);
27+
ScriptPubKeyToUniv(script, o1, /*include_hex=*/fuzzed_data_provider.ConsumeBool());
28+
UniValue o3(UniValue::VOBJ);
29+
ScriptToUniv(script, o3);
30+
}

0 commit comments

Comments
 (0)