Don't under-allocate curve tessellation triangles

Fixes a bug introduced by 2758a3189ade49d228e76963d842ade8e83b24ee.
This probably isn't a big deal since when a path has 1 verb, the 1
verb is kMove and it's empty anyway, but this change is probably best
for the sake of correctness.

TBR=robertphillips@google.com

Change-Id: I73f7d199b19c7d8adc8d73efb7eac1a3d2fbd3be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410935
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
diff --git a/src/gpu/tessellate/GrPathTessellator.cpp b/src/gpu/tessellate/GrPathTessellator.cpp
index 35b4d81..afcb6e2 100644
--- a/src/gpu/tessellate/GrPathTessellator.cpp
+++ b/src/gpu/tessellate/GrPathTessellator.cpp
@@ -58,7 +58,7 @@
 // in the case where no additional vertices are introduced.
 static int max_triangles_in_inner_fan(const SkPath& path) {
     int maxEdgesInFan = max_segments_in_path(path);
-    return maxEdgesInFan - 2;  // An n-sided polygon is fanned by n-2 triangles.
+    return std::max(maxEdgesInFan - 2, 0);  // An n-sided polygon is fanned by n-2 triangles.
 }
 
 static int write_breadcrumb_triangles(