mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 15:09:59 +01:00
fuzz: Rework ConsumeScript
This should make it easier for the fuzz engine to explore multisig code paths. See discussion in https://github.com/bitcoin/bitcoin/issues/23105 The downside is that all fuzz inputs that use ConsumeScript are now invalidated and need to be re-generated. Another downside may be that most multisig scripts from ConsumeScript are using likely not fully valid pubkeys.
This commit is contained in:
@@ -41,9 +41,7 @@ void initialize_script()
|
||||
FUZZ_TARGET_INIT(script, initialize_script)
|
||||
{
|
||||
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
|
||||
const std::optional<CScript> script_opt = ConsumeDeserializable<CScript>(fuzzed_data_provider);
|
||||
if (!script_opt) return;
|
||||
const CScript script{*script_opt};
|
||||
const CScript script{ConsumeScript(fuzzed_data_provider)};
|
||||
|
||||
CompressedScript compressed;
|
||||
if (CompressScript(script, compressed)) {
|
||||
|
||||
Reference in New Issue
Block a user