1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2017 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker #include <string.h> 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #include "public/fpdfview.h" 8*3ac0a46fSAndroid Build Coastguard Worker 9*3ac0a46fSAndroid Build Coastguard Worker // Initialize the library once for all runs of the fuzzer. 10*3ac0a46fSAndroid Build Coastguard Worker struct TestCase { TestCaseTestCase11*3ac0a46fSAndroid Build Coastguard Worker TestCase() { 12*3ac0a46fSAndroid Build Coastguard Worker memset(&config, '\0', sizeof(config)); 13*3ac0a46fSAndroid Build Coastguard Worker config.version = 2; 14*3ac0a46fSAndroid Build Coastguard Worker config.m_pUserFontPaths = nullptr; 15*3ac0a46fSAndroid Build Coastguard Worker config.m_pIsolate = nullptr; 16*3ac0a46fSAndroid Build Coastguard Worker config.m_v8EmbedderSlot = 0; 17*3ac0a46fSAndroid Build Coastguard Worker FPDF_InitLibraryWithConfig(&config); 18*3ac0a46fSAndroid Build Coastguard Worker } 19*3ac0a46fSAndroid Build Coastguard Worker FPDF_LIBRARY_CONFIG config; 20*3ac0a46fSAndroid Build Coastguard Worker }; 21*3ac0a46fSAndroid Build Coastguard Worker 22*3ac0a46fSAndroid Build Coastguard Worker // pdf_fuzzer_init.cc and pdfium_fuzzer_init_public.cc are mutually exclusive 23*3ac0a46fSAndroid Build Coastguard Worker // and should not be built together. They deliberately have the same global 24*3ac0a46fSAndroid Build Coastguard Worker // variable. 25*3ac0a46fSAndroid Build Coastguard Worker static TestCase* g_test_case = new TestCase(); 26