aboutsummaryrefslogtreecommitdiffhomepage
path: root/fuzz/FuzzPathop.cpp
diff options
context:
space:
mode:
authorGravatar Cary Clark <caryclark@google.com>2018-03-09 14:02:46 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-12 15:29:18 +0000
commit91390c8acea911d747548e24031888a9c63650fe (patch)
treef18d28b4c6cb0333f2773e253cd0ff7dec76a237 /fuzz/FuzzPathop.cpp
parent82a36ac4e6ffda855a34c97f7c757b29dbaf88a5 (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.cpp48
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;