| /* |
| * Copyright 2018 Google, LLC |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include "include/core/SkData.h" |
| #include "include/core/SkStream.h" |
| #include "src/utils/SkJSON.h" |
| |
| void FuzzJSON(sk_sp<SkData> bytes) { |
| skjson::DOM dom(static_cast<const char*>(bytes->data()), bytes->size()); |
| SkDynamicMemoryWStream wstream; |
| dom.write(&wstream); |
| } |
| |
| // TODO(kjlubick): remove IS_FUZZING... after https://crrev.com/c/2410304 lands |
| #if defined(SK_BUILD_FOR_LIBFUZZER) || defined(IS_FUZZING_WITH_LIBFUZZER) |
| extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { |
| auto bytes = SkData::MakeWithoutCopy(data, size); |
| FuzzJSON(bytes); |
| return 0; |
| } |
| #endif |