Index: pdf/pdfium/fuzzers/pdfium_fuzzer.cc |
diff --git a/pdf/pdfium/fuzzers/pdfium_fuzzer.cc b/pdf/pdfium/fuzzers/pdfium_fuzzer.cc |
index b0d7b5de26c250081ce4da2df3a444d5bb3136b7..0b6f85dc36a9cd15cd18f3aebe499077932999c0 100644 |
--- a/pdf/pdfium/fuzzers/pdfium_fuzzer.cc |
+++ b/pdf/pdfium/fuzzers/pdfium_fuzzer.cc |
@@ -91,7 +91,11 @@ static void RenderPdf(const char* pBuf, size_t len) { |
FPDF_FORMFILLINFO form_callbacks; |
memset(&form_callbacks, '\0', sizeof(form_callbacks)); |
+#ifdef PDF_ENABLE_XFA |
+ form_callbacks.version = 2; |
+#else // PDF_ENABLE_XFA |
form_callbacks.version = 1; |
+#endif // PDF_ENABLE_XFA |
form_callbacks.m_pJsPlatform = &platform_callbacks; |
TestLoader loader(pBuf, len); |
@@ -143,6 +147,13 @@ static void RenderPdf(const char* pBuf, size_t len) { |
(void)FPDF_GetDocPermissions(doc); |
FPDF_FORMHANDLE form = FPDFDOC_InitFormFillEnvironment(doc, &form_callbacks); |
+ |
+#ifdef PDF_ENABLE_XFA |
+ int doc_type = DOCTYPE_PDF; |
+ if (FPDF_HasXFAField(doc, &doc_type) && doc_type != DOCTYPE_PDF) |
+ FPDF_LoadXFA(doc); |
+#endif // PDF_ENABLE_XFA |
+ |
FPDF_SetFormFieldHighlightColor(form, 0, 0xFFE4DD); |
FPDF_SetFormFieldHighlightAlpha(form, 100); |