xref: /aosp_15_r20/external/pdfium/testing/fuzzers/pdfium_fuzzer_util.cc (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2019 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 "testing/fuzzers/pdfium_fuzzer_util.h"
6*3ac0a46fSAndroid Build Coastguard Worker 
7*3ac0a46fSAndroid Build Coastguard Worker namespace {
8*3ac0a46fSAndroid Build Coastguard Worker void* g_fuzzer_init_per_process_state = nullptr;
9*3ac0a46fSAndroid Build Coastguard Worker }  // namespace
10*3ac0a46fSAndroid Build Coastguard Worker 
GetInteger(const uint8_t * data)11*3ac0a46fSAndroid Build Coastguard Worker int GetInteger(const uint8_t* data) {
12*3ac0a46fSAndroid Build Coastguard Worker   return data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24);
13*3ac0a46fSAndroid Build Coastguard Worker }
14*3ac0a46fSAndroid Build Coastguard Worker 
FPDF_SetFuzzerPerProcessState(void * state)15*3ac0a46fSAndroid Build Coastguard Worker FPDF_EXPORT void FPDF_CALLCONV FPDF_SetFuzzerPerProcessState(void* state) {
16*3ac0a46fSAndroid Build Coastguard Worker   g_fuzzer_init_per_process_state = state;
17*3ac0a46fSAndroid Build Coastguard Worker }
18*3ac0a46fSAndroid Build Coastguard Worker 
FPDF_GetFuzzerPerProcessState()19*3ac0a46fSAndroid Build Coastguard Worker FPDF_EXPORT void* FPDF_CALLCONV FPDF_GetFuzzerPerProcessState() {
20*3ac0a46fSAndroid Build Coastguard Worker   return g_fuzzer_init_per_process_state;
21*3ac0a46fSAndroid Build Coastguard Worker }
22