aboutsummaryrefslogtreecommitdiff
path: root/fuzzers/disassembler_dex_fuzzer.cc
diff options
context:
space:
mode:
authorCalder Kitagawa <ckitagawa@chromium.org>2018-07-05 14:13:27 +0000
committerCopybara-Service <copybara-worker@google.com>2021-07-25 20:09:36 -0700
commita446c1fae30a1c8224dc92f920b53d8e543c8ef1 (patch)
treed741850ac71f3166a7ebc296a6ba7de90e03203e /fuzzers/disassembler_dex_fuzzer.cc
parent7bf8174deb72fca6600d70771f8dbf8e60e3e780 (diff)
downloadzucchini-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.cc9
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.