| Index: testing/libfuzzer/fuzzers/courgette_fuzzer.cc
|
| diff --git a/testing/libfuzzer/fuzzers/courgette_fuzzer.cc b/testing/libfuzzer/fuzzers/courgette_fuzzer.cc
|
| index fffb5b7d1480142e8b9decab2e2bb6dd321cc018..ec61ee702e95a4690b0871a126fb74e672ea5182 100644
|
| --- a/testing/libfuzzer/fuzzers/courgette_fuzzer.cc
|
| +++ b/testing/libfuzzer/fuzzers/courgette_fuzzer.cc
|
| @@ -5,21 +5,18 @@
|
| #include <stddef.h>
|
| #include <stdint.h>
|
|
|
| -#include <memory>
|
| -
|
| -#include "courgette/assembly_program.h"
|
| #include "courgette/courgette.h"
|
| -#include "courgette/encoded_program.h"
|
| -#include "courgette/program_detector.h"
|
| +#include "courgette/courgette_flow.h"
|
| +#include "courgette/region.h"
|
|
|
| // Entry point for LibFuzzer.
|
| extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
|
| - std::unique_ptr<courgette::AssemblyProgram> prog;
|
| - courgette::Status status =
|
| - courgette::ParseDetectedExecutable(data, size, &prog);
|
| - if (status != courgette::C_OK) {
|
| - return 0;
|
| - }
|
| - std::unique_ptr<courgette::EncodedProgram> enc_prog(prog->Encode());
|
| + courgette::CourgetteFlow flow;
|
| + courgette::RegionBuffer buffer(courgette::Region(data, size));
|
| + flow.ReadDisassemblerFromBuffer(flow.ONLY, buffer);
|
| + flow.CreateAssemblyProgramFromDisassembler(flow.ONLY, false);
|
| + flow.CreateEncodedProgramFromDisassemblerAndAssemblyProgram(flow.ONLY);
|
| + flow.WriteSinkStreamSetFromEncodedProgram(flow.ONLY);
|
| + // Not bothering to check |flow.failed()|.
|
| return 0;
|
| }
|
|
|