fuzz: Limit script_format to 100kB

This commit is contained in:
MarcoFalke 2022-02-25 17:11:20 +01:00
parent ee8c997125
commit bbbbeaf9c8
No known key found for this signature in database
GPG Key ID: CE2B75697E69A548

View File

@ -3,7 +3,9 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include <chainparams.h> #include <chainparams.h>
#include <consensus/consensus.h>
#include <core_io.h> #include <core_io.h>
#include <policy/policy.h>
#include <script/script.h> #include <script/script.h>
#include <test/fuzz/FuzzedDataProvider.h> #include <test/fuzz/FuzzedDataProvider.h>
#include <test/fuzz/fuzz.h> #include <test/fuzz/fuzz.h>
@ -19,6 +21,9 @@ FUZZ_TARGET_INIT(script_format, initialize_script_format)
{ {
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size()); FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
const CScript script{ConsumeScript(fuzzed_data_provider)}; const CScript script{ConsumeScript(fuzzed_data_provider)};
if (script.size() > MAX_STANDARD_TX_WEIGHT / WITNESS_SCALE_FACTOR) {
return;
}
(void)FormatScript(script); (void)FormatScript(script);
(void)ScriptToAsmStr(script, /*fAttemptSighashDecode=*/fuzzed_data_provider.ConsumeBool()); (void)ScriptToAsmStr(script, /*fAttemptSighashDecode=*/fuzzed_data_provider.ConsumeBool());