diff options
author | Calder Kitagawa <ckitagawa@chromium.org> | 2018-07-05 14:13:27 +0000 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2021-07-25 20:09:36 -0700 |
commit | a446c1fae30a1c8224dc92f920b53d8e543c8ef1 (patch) | |
tree | d741850ac71f3166a7ebc296a6ba7de90e03203e /fuzzers/disassembler_dex_fuzzer.cc | |
parent | 7bf8174deb72fca6600d70771f8dbf8e60e3e780 (diff) | |
download | zucchini-a446c1fae30a1c8224dc92f920b53d8e543c8ef1.tar.gz |
[Zucchini] Fix image not being resized in fuzzer
The |mutable_image| should have been resized to match
|disassembler_dex|'s size. This caused a check failure in fuzzing.
Bug: 860127
Change-Id: If168d4b62b5d3a8cfdef37cc23a38682c1b7d48e
Reviewed-on: https://chromium-review.googlesource.com/1126322
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572782}
NOKEYCHECK=True
GitOrigin-RevId: 3458b23c4dcf642e3ec7dc333949f550330d6a7a
Diffstat (limited to 'fuzzers/disassembler_dex_fuzzer.cc')
-rw-r--r-- | fuzzers/disassembler_dex_fuzzer.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fuzzers/disassembler_dex_fuzzer.cc b/fuzzers/disassembler_dex_fuzzer.cc index 5968c98..ab08696 100644 --- a/fuzzers/disassembler_dex_fuzzer.cc +++ b/fuzzers/disassembler_dex_fuzzer.cc @@ -24,15 +24,16 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { return 0; // Prepare data. std::vector<uint8_t> mutable_data(data, data + size); - zucchini::MutableBufferView mutable_image(mutable_data.data(), - mutable_data.size()); + zucchini::ConstBufferView image(mutable_data.data(), mutable_data.size()); // Create disassembler. Early exit on failure. auto disassembler_dex = - zucchini::Disassembler::Make<zucchini::DisassemblerDex>( - zucchini::ConstBufferView(mutable_image)); + zucchini::Disassembler::Make<zucchini::DisassemblerDex>(image); if (!disassembler_dex) return 0; + CHECK_LE(disassembler_dex->size(), image.size()); + zucchini::MutableBufferView mutable_image(mutable_data.data(), + disassembler_dex->size()); std::vector<zucchini::Reference> references; // Read all references in the file. |