1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2018 Google, LLC 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci#include "fuzz/Fuzz.h" 9cb93a386Sopenharmony_ci#include "src/core/SkFontMgrPriv.h" 10cb93a386Sopenharmony_ci#include "tools/fonts/TestFontMgr.h" 11cb93a386Sopenharmony_ci 12cb93a386Sopenharmony_civoid fuzz_MockGPUCanvas(Fuzz* f); 13cb93a386Sopenharmony_ci 14cb93a386Sopenharmony_ciextern "C" { 15cb93a386Sopenharmony_ci 16cb93a386Sopenharmony_ci // Set default LSAN options. 17cb93a386Sopenharmony_ci const char *__lsan_default_options() { 18cb93a386Sopenharmony_ci // Don't print the list of LSAN suppressions on every execution. 19cb93a386Sopenharmony_ci return "print_suppressions=0"; 20cb93a386Sopenharmony_ci } 21cb93a386Sopenharmony_ci 22cb93a386Sopenharmony_ci int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { 23cb93a386Sopenharmony_ci if (size > 4000) { 24cb93a386Sopenharmony_ci return 0; 25cb93a386Sopenharmony_ci } 26cb93a386Sopenharmony_ci gSkFontMgr_DefaultFactory = &ToolUtils::MakePortableFontMgr; 27cb93a386Sopenharmony_ci auto fuzz = Fuzz(SkData::MakeWithoutCopy(data, size)); 28cb93a386Sopenharmony_ci fuzz_MockGPUCanvas(&fuzz); 29cb93a386Sopenharmony_ci return 0; 30cb93a386Sopenharmony_ci } 31cb93a386Sopenharmony_ci} // extern "C" 32