Changeset View
Changeset View
Standalone View
Standalone View
src/test/fuzz/script_ops.cpp
Show All 10 Lines | |||||
#include <string> | #include <string> | ||||
#include <vector> | #include <vector> | ||||
void test_one_input(const std::vector<uint8_t> &buffer) { | void test_one_input(const std::vector<uint8_t> &buffer) { | ||||
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size()); | FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size()); | ||||
CScript script = ConsumeScript(fuzzed_data_provider); | CScript script = ConsumeScript(fuzzed_data_provider); | ||||
while (fuzzed_data_provider.remaining_bytes() > 0) { | while (fuzzed_data_provider.remaining_bytes() > 0) { | ||||
switch (fuzzed_data_provider.ConsumeIntegralInRange(0, 7)) { | switch (fuzzed_data_provider.ConsumeIntegralInRange(0, 7)) { | ||||
case 0: | case 0: { | ||||
script += ConsumeScript(fuzzed_data_provider); | CScript s = ConsumeScript(fuzzed_data_provider); | ||||
script = std::move(s); | |||||
break; | break; | ||||
case 1: | } | ||||
script = script + ConsumeScript(fuzzed_data_provider); | case 1: { | ||||
const CScript &s = ConsumeScript(fuzzed_data_provider); | |||||
script = s; | |||||
break; | break; | ||||
} | |||||
case 2: | case 2: | ||||
script << fuzzed_data_provider.ConsumeIntegral<int64_t>(); | script << fuzzed_data_provider.ConsumeIntegral<int64_t>(); | ||||
break; | break; | ||||
case 3: | case 3: | ||||
script << ConsumeOpcodeType(fuzzed_data_provider); | script << ConsumeOpcodeType(fuzzed_data_provider); | ||||
break; | break; | ||||
case 4: | case 4: | ||||
script << ConsumeScriptNum(fuzzed_data_provider); | script << ConsumeScriptNum(fuzzed_data_provider); | ||||
Show All 31 Lines |