aboutsummaryrefslogtreecommitdiffhomepage
path: root/modules/skjson/src/FuzzSkJSON.cpp
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2018-06-14 12:50:43 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-14 18:13:19 +0000
commitfc792b8718cc30e9da62c9559b23c1baac3166bb (patch)
treebdef20bc660ce8c13d47b72fe1c31a7031ad5746 /modules/skjson/src/FuzzSkJSON.cpp
parent00f4df90229456d6cf68cdadc40d54bc3afe64f9 (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.cpp10
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);
}