From 53894390dba2ec571bab75157ebe60d11171ed07 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 9 Apr 2018 18:30:24 +0000 Subject: Use pdfium::span<> in CFX_BitStream, CPDF_SimpleParser. Get bounds checks in parsers automatically when using spans. Change-Id: I71fbe7b838435d455376db2f89817d807a9cdcfd Reviewed-on: https://pdfium-review.googlesource.com/29830 Commit-Queue: Tom Sepez Reviewed-by: dsinclair --- testing/libfuzzer/pdf_cmap_fuzzer.cc | 3 ++- testing/libfuzzer/pdf_hint_table_fuzzer.cc | 3 ++- testing/libfuzzer/pdf_psengine_fuzzer.cc | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'testing/libfuzzer') diff --git a/testing/libfuzzer/pdf_cmap_fuzzer.cc b/testing/libfuzzer/pdf_cmap_fuzzer.cc index 0f2a22dcf2..0c0ff11f36 100644 --- a/testing/libfuzzer/pdf_cmap_fuzzer.cc +++ b/testing/libfuzzer/pdf_cmap_fuzzer.cc @@ -6,8 +6,9 @@ #include "core/fpdfapi/font/cpdf_cmap.h" #include "third_party/base/ptr_util.h" +#include "third_party/base/span.h" extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - pdfium::MakeRetain()->LoadEmbedded(ByteStringView(data, size)); + pdfium::MakeRetain()->LoadEmbedded(pdfium::make_span(data, size)); return 0; } diff --git a/testing/libfuzzer/pdf_hint_table_fuzzer.cc b/testing/libfuzzer/pdf_hint_table_fuzzer.cc index ee51e25f24..50ca5cd693 100644 --- a/testing/libfuzzer/pdf_hint_table_fuzzer.cc +++ b/testing/libfuzzer/pdf_hint_table_fuzzer.cc @@ -12,6 +12,7 @@ #include "core/fpdfapi/parser/cpdf_number.h" #include "core/fxcrt/cfx_bitstream.h" #include "third_party/base/ptr_util.h" +#include "third_party/base/span.h" int32_t GetData(const int32_t** data32, const uint8_t** data, size_t* size) { const int32_t* ret = *data32; @@ -36,7 +37,7 @@ class HintTableForFuzzing : public CPDF_HintTables { if (size < static_cast(shared_hint_table_offset_)) return; - CFX_BitStream bs(data, size); + CFX_BitStream bs(pdfium::make_span(data, size)); if (!ReadPageHintTable(&bs)) return; ReadSharedObjHintTable(&bs, shared_hint_table_offset_); diff --git a/testing/libfuzzer/pdf_psengine_fuzzer.cc b/testing/libfuzzer/pdf_psengine_fuzzer.cc index 253b43e381..d72088d4e3 100644 --- a/testing/libfuzzer/pdf_psengine_fuzzer.cc +++ b/testing/libfuzzer/pdf_psengine_fuzzer.cc @@ -5,10 +5,11 @@ #include #include "core/fpdfapi/page/cpdf_psengine.h" +#include "third_party/base/span.h" extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { CPDF_PSEngine engine; - if (engine.Parse(ByteStringView(data, size))) + if (engine.Parse(pdfium::make_span(data, size))) engine.Execute(); return 0; } -- cgit v1.2.3