diff options
author | Florin Malita <fmalita@chromium.org> | 2018-06-14 12:50:43 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-14 18:13:19 +0000 |
commit | fc792b8718cc30e9da62c9559b23c1baac3166bb (patch) | |
tree | bdef20bc660ce8c13d47b72fe1c31a7031ad5746 /modules/skjson/src/FuzzSkJSON.cpp | |
parent | 00f4df90229456d6cf68cdadc40d54bc3afe64f9 (diff) |
[skjson] Size-constrained input API
Pass an explicit input size instead of requiring a C string.
Thanks to mtklein's clever trick, this has no measurable perf impact.
Change-Id: I64f210a9f653a78b05ab6b58fa34479504aa35ff
Reviewed-on: https://skia-review.googlesource.com/134940
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'modules/skjson/src/FuzzSkJSON.cpp')
-rw-r--r-- | modules/skjson/src/FuzzSkJSON.cpp | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/modules/skjson/src/FuzzSkJSON.cpp b/modules/skjson/src/FuzzSkJSON.cpp index ce33cc1299..2e971ce249 100644 --- a/modules/skjson/src/FuzzSkJSON.cpp +++ b/modules/skjson/src/FuzzSkJSON.cpp @@ -5,20 +5,12 @@ * found in the LICENSE file. */ -#include "SkAutoMalloc.h" #include "SkData.h" #include "SkJSON.h" #include "SkStream.h" void FuzzSkJSON(sk_sp<SkData> bytes) { - // TODO: add a size + len skjson::DOM factory? - SkAutoMalloc data(bytes->size() + 1); - auto* c_str = static_cast<char*>(data.get()); - - memcpy(c_str, bytes->data(), bytes->size()); - c_str[bytes->size()] = '\0'; - - skjson::DOM dom(c_str); + skjson::DOM dom(static_cast<const char*>(bytes->data()), bytes->size()); SkDynamicMemoryWStream wstream; dom.write(&wstream); } |