From 7cda31ac2f2884166f044937619478a6103198cf Mon Sep 17 00:00:00 2001 From: tsepez Date: Wed, 7 Dec 2016 12:10:20 -0800 Subject: Refcount IFGAS_ streams all the time, too IFGAS_Streams are not part of the IFX_Stream hierarchy, but can be made from such. Review-Url: https://codereview.chromium.org/2559763002 --- testing/libfuzzer/pdf_cfx_saxreader_fuzzer.cc | 4 ++-- testing/libfuzzer/pdf_css_fuzzer.cc | 10 +++++----- testing/libfuzzer/pdf_xml_fuzzer.cc | 6 ++---- 3 files changed, 9 insertions(+), 11 deletions(-) (limited to 'testing') diff --git a/testing/libfuzzer/pdf_cfx_saxreader_fuzzer.cc b/testing/libfuzzer/pdf_cfx_saxreader_fuzzer.cc index 94decbfc2c..d99457d360 100644 --- a/testing/libfuzzer/pdf_cfx_saxreader_fuzzer.cc +++ b/testing/libfuzzer/pdf_cfx_saxreader_fuzzer.cc @@ -4,6 +4,7 @@ #include +#include "core/fxcrt/cfx_retain_ptr.h" #include "xfa/fde/xml/cfx_saxreader.h" #include "xfa/fgas/crt/fgas_stream.h" #include "xfa/fxfa/parser/cxfa_widetextread.h" @@ -11,8 +12,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { CFX_WideString input = CFX_WideString::FromUTF8( CFX_ByteStringC(data, static_cast(size))); - std::unique_ptr> stream( - new CXFA_WideTextRead(input)); + auto stream = pdfium::MakeRetain(input); if (!stream) return 0; diff --git a/testing/libfuzzer/pdf_css_fuzzer.cc b/testing/libfuzzer/pdf_css_fuzzer.cc index 96877f40be..247c9b9245 100644 --- a/testing/libfuzzer/pdf_css_fuzzer.cc +++ b/testing/libfuzzer/pdf_css_fuzzer.cc @@ -4,6 +4,7 @@ #include +#include "core/fxcrt/cfx_retain_ptr.h" #include "core/fxcrt/fx_string.h" #include "xfa/fde/css/fde_css.h" #include "xfa/fde/css/fde_csssyntax.h" @@ -11,16 +12,15 @@ #include "xfa/fxfa/parser/cxfa_widetextread.h" extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - CFDE_CSSSyntaxParser parser; - CFX_WideString input = CFX_WideString::FromUTF8( CFX_ByteStringC(data, static_cast(size))); - std::unique_ptr> stream( - new CXFA_WideTextRead(input)); + + auto stream = pdfium::MakeRetain(input); if (!stream) return 0; - parser.Init(stream.get(), 1024); + CFDE_CSSSyntaxParser parser; + parser.Init(stream, 1024); FDE_CSSSYNTAXSTATUS status = parser.DoSyntaxParse(); while (status != FDE_CSSSYNTAXSTATUS_Error && diff --git a/testing/libfuzzer/pdf_xml_fuzzer.cc b/testing/libfuzzer/pdf_xml_fuzzer.cc index d28522c2ea..4f000ab78e 100644 --- a/testing/libfuzzer/pdf_xml_fuzzer.cc +++ b/testing/libfuzzer/pdf_xml_fuzzer.cc @@ -52,15 +52,13 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { CFX_WideString input = CFX_WideString::FromUTF8(CFX_ByteStringC(data, safe_size.ValueOrDie())); - std::unique_ptr> stream( - new CXFA_WideTextRead(input)); + auto stream = pdfium::MakeRetain(input); if (!stream) return 0; std::unique_ptr doc = pdfium::MakeUnique(); std::unique_ptr> parser( - new CXFA_XMLParser(doc->GetRoot(), stream.get())); - + new CXFA_XMLParser(doc->GetRoot(), stream)); if (!doc->LoadXML(parser.release())) return 0; -- cgit v1.2.3