1*c8dee2aaSAndroid Build Coastguard Worker /* 2*c8dee2aaSAndroid Build Coastguard Worker * Copyright 2018 Google, LLC 3*c8dee2aaSAndroid Build Coastguard Worker * 4*c8dee2aaSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be 5*c8dee2aaSAndroid Build Coastguard Worker * found in the LICENSE file. 6*c8dee2aaSAndroid Build Coastguard Worker */ 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkStream.h" 9*c8dee2aaSAndroid Build Coastguard Worker #include "src/utils/SkJSON.h" 10*c8dee2aaSAndroid Build Coastguard Worker FuzzJSON(const uint8_t * data,size_t size)11*c8dee2aaSAndroid Build Coastguard Workervoid FuzzJSON(const uint8_t *data, size_t size) { 12*c8dee2aaSAndroid Build Coastguard Worker skjson::DOM dom(reinterpret_cast<const char*>(data), size); 13*c8dee2aaSAndroid Build Coastguard Worker SkDynamicMemoryWStream wstream; 14*c8dee2aaSAndroid Build Coastguard Worker dom.write(&wstream); 15*c8dee2aaSAndroid Build Coastguard Worker } 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Worker #if defined(SK_BUILD_FOR_LIBFUZZER) LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)18*c8dee2aaSAndroid Build Coastguard Workerextern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { 19*c8dee2aaSAndroid Build Coastguard Worker FuzzJSON(data, size); 20*c8dee2aaSAndroid Build Coastguard Worker return 0; 21*c8dee2aaSAndroid Build Coastguard Worker } 22*c8dee2aaSAndroid Build Coastguard Worker #endif 23