diff options
author | Florin Malita <fmalita@chromium.org> | 2018-06-19 11:27:20 -0400 |
---|---|---|
committer | Kevin Lubick <kjlubick@google.com> | 2018-06-19 18:23:30 +0000 |
commit | 80452bee11ebe6708ea459ea34e526a44c04bdb0 (patch) | |
tree | 2e74fe66a6554f81909188b423f7ce4055cdaea3 /fuzz/oss_fuzz | |
parent | 96aa535b782f31df0f063213c2958acba32a808d (diff) |
Fold SkJSON into Skia/utils
It's a tiny, core-ish component -- might as well treat as such to
simplify dependencies.
Change-Id: I6f31ce2d151f9a629d88bfc7f15d64891d5150c0
Reviewed-on: https://skia-review.googlesource.com/135780
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'fuzz/oss_fuzz')
-rw-r--r-- | fuzz/oss_fuzz/FuzzJSON.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/fuzz/oss_fuzz/FuzzJSON.cpp b/fuzz/oss_fuzz/FuzzJSON.cpp new file mode 100644 index 0000000000..d6d3cf8d34 --- /dev/null +++ b/fuzz/oss_fuzz/FuzzJSON.cpp @@ -0,0 +1,24 @@ +/* + * 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 "SkData.h" +#include "SkJSON.h" +#include "SkStream.h" + +void FuzzJSON(sk_sp<SkData> bytes) { + skjson::DOM dom(static_cast<const char*>(bytes->data()), bytes->size()); + SkDynamicMemoryWStream wstream; + dom.write(&wstream); +} + +#if 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 |