aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fuzz/FuzzPathop.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/fuzz/FuzzPathop.cpp b/fuzz/FuzzPathop.cpp
index 7aa229ee8c..b3c6369ba1 100644
--- a/fuzz/FuzzPathop.cpp
+++ b/fuzz/FuzzPathop.cpp
@@ -19,16 +19,16 @@ DEF_FUZZ(Pathop, fuzz) {
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);