From 62114cf3d85ee9149b270e02935c98395567f45e Mon Sep 17 00:00:00 2001 From: thestig Date: Tue, 8 Nov 2016 12:59:30 -0800 Subject: Compile fuzzer sources in standalone builds. (try 2) - Add a template for fuzzers to remove redundancy. - Sort fuzzers in alphabetical order. Previous attempt: https://codereview.chromium.org/2480043002/ Review-Url: https://codereview.chromium.org/2481933003 --- testing/libfuzzer/pdf_xml_fuzzer.cc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'testing/libfuzzer/pdf_xml_fuzzer.cc') diff --git a/testing/libfuzzer/pdf_xml_fuzzer.cc b/testing/libfuzzer/pdf_xml_fuzzer.cc index 7bd0b66b37..91b4d6026c 100644 --- a/testing/libfuzzer/pdf_xml_fuzzer.cc +++ b/testing/libfuzzer/pdf_xml_fuzzer.cc @@ -4,11 +4,12 @@ #include #include -#include #include #include "core/fxcrt/fx_basic.h" +#include "core/fxcrt/fx_safe_types.h" #include "core/fxcrt/fx_system.h" +#include "third_party/base/ptr_util.h" #include "xfa/fde/xml/fde_xml_imp.h" #include "xfa/fxfa/parser/cxfa_xml_parser.h" #include "xfa/fxfa/parser/cxfa_widetextread.h" @@ -45,17 +46,18 @@ CFDE_XMLNode* XFA_FDEExtension_GetDocumentNode( } // namespace extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - if (size > std::numeric_limits::max()) + FX_SAFE_STRSIZE safe_size = size; + if (!safe_size.IsValid()) return 0; - CFX_WideString input = CFX_WideString::FromUTF8( - CFX_ByteStringC(data, static_cast(size))); + CFX_WideString input = + CFX_WideString::FromUTF8(CFX_ByteStringC(data, safe_size.ValueOrDie())); std::unique_ptr> stream( new CXFA_WideTextRead(input)); if (!stream) return 0; - std::unique_ptr doc(new CFDE_XMLDoc); + std::unique_ptr doc = pdfium::MakeUnique(); std::unique_ptr> parser( new CXFA_XMLParser(doc->GetRoot(), stream.get())); -- cgit v1.2.3