Have FuzzPathop make a new path every time
This will hopefully be more interesting logic.
Bug: skia:
Change-Id: I8aa6ab3d66ece4a6c1042701e1aae06d96247f32
Reviewed-on: https://skia-review.googlesource.com/c/164600
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
diff --git a/fuzz/FuzzPathop.cpp b/fuzz/FuzzPathop.cpp
index 7aa229e..b3c6369 100644
--- a/fuzz/FuzzPathop.cpp
+++ b/fuzz/FuzzPathop.cpp
@@ -19,16 +19,16 @@
fuzz->nextRange(&choice, 0, 4);
switch (choice) {
case 0: {
- SkPath path;
- FuzzEvilPath(fuzz, &path, SkPath::Verb::kDone_Verb);
- SkPath::FillType ft;
- fuzz->nextEnum(&ft, 0, SkPath::kInverseEvenOdd_FillType);
- path.setFillType(ft);
-
uint8_t ops;
fuzz->nextRange(&ops, 0, MAX_OPS);
SkOpBuilder builder;
- for (uint8_t i = 0; i < ops; i++) {
+ for (uint8_t i = 0; i < ops && !fuzz->exhausted(); i++) {
+ SkPath path;
+ FuzzEvilPath(fuzz, &path, SkPath::Verb::kDone_Verb);
+ SkPath::FillType ft;
+ fuzz->nextEnum(&ft, 0, SkPath::kInverseEvenOdd_FillType);
+ path.setFillType(ft);
+
SkPathOp op;
fuzz->nextEnum(&op, 0, SkPathOp::kReverseDifference_SkPathOp);
builder.add(path, op);