1 /* 2 * Copyright 2018 Google, LLC 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #include "include/core/SkStream.h" 9 #include "modules/skottie/include/Skottie.h" 10 #include "tools/fonts/FontToolUtils.h" 11 FuzzSkottieJSON(const uint8_t * data,size_t size)12void FuzzSkottieJSON(const uint8_t *data, size_t size) { 13 SkMemoryStream stream(data, size); 14 auto animation = skottie::Animation::Make(&stream); 15 if (!animation) { 16 return; 17 } 18 animation->seek(0.1337f); // A "nothing up my sleeve" number 19 } 20 21 #if defined(SK_BUILD_FOR_LIBFUZZER) LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)22extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { 23 ToolUtils::UsePortableFontMgr(); 24 FuzzSkottieJSON(data, size); 25 return 0; 26 } 27 #endif 28