diff options
author | Cary Clark <caryclark@google.com> | 2018-03-09 14:02:46 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-03-12 15:29:18 +0000 |
commit | 91390c8acea911d747548e24031888a9c63650fe (patch) | |
tree | f18d28b4c6cb0333f2773e253cd0ff7dec76a237 /fuzz/FuzzPathop.cpp | |
parent | 82a36ac4e6ffda855a34c97f7c757b29dbaf88a5 (diff) |
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 <reed@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
Diffstat (limited to 'fuzz/FuzzPathop.cpp')
-rw-r--r-- | fuzz/FuzzPathop.cpp | 48 |
1 files changed, 1 insertions, 47 deletions
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; |