You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
836 B
29 lines
836 B
// Copyright 2019 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#include "public/fpdf_formfill.h"
|
|
#include "testing/fuzzers/pdfium_fuzzer_helper.h"
|
|
#include "testing/fuzzers/pdfium_xfa_lpm_fuzz_stub.h"
|
|
|
|
class PDFiumLpmFuzzStub : public PDFiumFuzzerHelper {
|
|
public:
|
|
PDFiumLpmFuzzStub() = default;
|
|
~PDFiumLpmFuzzStub() override = default;
|
|
|
|
int GetFormCallbackVersion() const override { return 2; }
|
|
// Allow fuzzer to fuzz XFA but don't require it to fuzz.
|
|
bool OnFormFillEnvLoaded(FPDF_DOCUMENT doc) override {
|
|
FPDF_LoadXFA(doc);
|
|
return true;
|
|
}
|
|
};
|
|
|
|
void PdfiumXFALPMFuzzStub(const char* pdf, size_t size) {
|
|
PDFiumLpmFuzzStub fuzz_stub;
|
|
fuzz_stub.RenderPdf(pdf, size);
|
|
}
|