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);