From 91390c8acea911d747548e24031888a9c63650fe Mon Sep 17 00:00:00 2001 From: Cary Clark Date: Fri, 9 Mar 2018 14:02:46 -0500 Subject: pathmeasure fuzzer R=kjlubick@google.com, reed@google.com Bug: skia: Change-Id: I16a8b09312e5d1d1783bd6a4b791636ad8f63889 Reviewed-on: https://skia-review.googlesource.com/113165 Reviewed-by: Mike Reed Reviewed-by: Kevin Lubick Commit-Queue: Cary Clark --- fuzz/FuzzPathop.cpp | 48 +----------------------------------------------- 1 file changed, 1 insertion(+), 47 deletions(-) (limited to 'fuzz/FuzzPathop.cpp') diff --git a/fuzz/FuzzPathop.cpp b/fuzz/FuzzPathop.cpp index f20352436c..18f9e81564 100644 --- a/fuzz/FuzzPathop.cpp +++ b/fuzz/FuzzPathop.cpp @@ -6,58 +6,12 @@ */ #include "Fuzz.h" +#include "FuzzCommon.h" #include "SkPath.h" #include "SkPathOps.h" const int kLastOp = SkPathOp::kReverseDifference_SkPathOp; -void BuildPath(Fuzz* fuzz, - SkPath* path, - int last_verb) { - while (!fuzz->exhausted()) { - // Use a uint8_t to conserve bytes. This makes our "fuzzed bytes footprint" - // smaller, which leads to more efficient fuzzing. - uint8_t operation; - fuzz->next(&operation); - SkScalar a,b,c,d,e,f; - - switch (operation % (last_verb + 1)) { - case SkPath::Verb::kMove_Verb: - fuzz->next(&a, &b); - path->moveTo(a, b); - break; - - case SkPath::Verb::kLine_Verb: - fuzz->next(&a, &b); - path->lineTo(a, b); - break; - - case SkPath::Verb::kQuad_Verb: - fuzz->next(&a, &b, &c, &d); - path->quadTo(a, b, c, d); - break; - - case SkPath::Verb::kConic_Verb: - fuzz->next(&a, &b, &c, &d, &e); - path->conicTo(a, b, c, d, e); - break; - - case SkPath::Verb::kCubic_Verb: - fuzz->next(&a, &b, &c, &d, &e, &f); - path->cubicTo(a, b, c, d, e, f); - break; - - case SkPath::Verb::kClose_Verb: - path->close(); - break; - - case SkPath::Verb::kDone_Verb: - // In this case, simply exit. - return; - } - } -} - DEF_FUZZ(Pathop, fuzz) { SkOpBuilder builder; -- cgit v1.2.3