diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2018-04-12 13:15:59 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-04-12 13:15:59 +0000 |
commit | a995d6fd9b862dbd37aebb9c323766bb5d11d389 (patch) | |
tree | db204479d0c854d1e30840794972d5115cbe80f4 /testing/libfuzzer/pdf_xml_fuzzer.cc | |
parent | 332139df2c3c0826069fa61bcd436309fcdf5a6f (diff) | |
download | pdfium-a995d6fd9b862dbd37aebb9c323766bb5d11d389.tar.xz |
Allow retrieving the XML tree from the CFX_XMLDoc
This CL allows the CXFA_SimpleParser to retrieve the XML tree from the
CFX_XMLDoc. This way, we don't have to keep the doc around and can store
the pointer to the tree in the CXFA_SimpleParser.
Change-Id: I5b478acbe61e6f1ca5fa04d03133a2b327a0cb1c
Reviewed-on: https://pdfium-review.googlesource.com/30210
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'testing/libfuzzer/pdf_xml_fuzzer.cc')
-rw-r--r-- | testing/libfuzzer/pdf_xml_fuzzer.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/testing/libfuzzer/pdf_xml_fuzzer.cc b/testing/libfuzzer/pdf_xml_fuzzer.cc index 82627e1496..2ad57cf8bc 100644 --- a/testing/libfuzzer/pdf_xml_fuzzer.cc +++ b/testing/libfuzzer/pdf_xml_fuzzer.cc @@ -22,12 +22,12 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { RetainPtr<CFX_SeekableStreamProxy> stream = pdfium::MakeRetain<CFX_SeekableStreamProxy>(const_cast<uint8_t*>(data), size); - auto doc = pdfium::MakeUnique<CFX_XMLDoc>(stream); - if (doc->Load() < 100) + CFX_XMLDoc doc; + if (!doc.Load(stream)) return 0; - CFX_XMLNode* pXMLFakeRoot = doc->GetRoot(); - for (CFX_XMLNode* pXMLNode = pXMLFakeRoot->GetFirstChild(); pXMLNode; + auto root = doc.GetTree(); + for (CFX_XMLNode* pXMLNode = root->GetFirstChild(); pXMLNode; pXMLNode = pXMLNode->GetNextSibling()) { if (pXMLNode->GetType() == FX_XMLNODE_Element) break; |