      if (!SkDraw::DrawToMask(devPath, &clip.getBounds(), this, &matrix, &srcM,
                              SkMask::kComputeBoundsAndRenderImage_CreateMode,
                              style)) {
+diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp
+index f754c021eb..c6bb36cca6 100644
+--- a/src/core/SkPaint.cpp
++++ b/src/core/SkPaint.cpp
+@@ -1492,6 +1492,13 @@ bool SkPaint::getFillPath(const SkPath& src, SkPath* dst, const SkRect* cullRect
+ 
+     SkStrokeRec rec(*this, resScale);
+ 
++#if defined(IS_FUZZING)
++    // Prevent lines with small widths from timing out.
++    if (rec.getStyle() == SkStrokeRec::Style::kStroke_Style && rec.getWidth() < 0.001) {
++        return false;
++    }
++#endif
++
+     const SkPath* srcPtr = &src;
+     SkPath tmpPath;
+ 
 diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp
-index ab8bf2e1fc..975a849f5d 100644
+index 279615d799..3398961c57 100644
 --- a/src/core/SkPath.cpp
 +++ b/src/core/SkPath.cpp
-@@ -3484,7 +3484,11 @@ void SkPathPriv::CreateDrawArcPath(SkPath* path, const SkRect& oval, SkScalar st
+@@ -3349,7 +3349,11 @@ void SkPathPriv::CreateDrawArcPath(SkPath* path, const SkRect& oval, SkScalar st
                                     SkScalar sweepAngle, bool useCenter, bool isFillNoPathEffect) {
      SkASSERT(!oval.isEmpty());
      SkASSERT(sweepAngle);

diff --git a/src/core/SkDraw.cpp b/src/core/SkDraw.cpp
index 478617f828..f4ead536aa 100644
--- a/src/core/SkDraw.cpp
+++ b/src/core/SkDraw.cpp
@@ -1120,6 +1120,12 @@ void SkDraw::drawPath(const SkPath& origSrcPath, const SkPaint& origPaint,
     // transform the path into device space
     pathPtr->transform(*matrix, devPathPtr);
 

     SkVector prevNormal = fPrevOutset;
     for (int i = 0; i < numSteps-1; ++i) {
         SkVector currNormal;
@@ -883,6 +888,12 @@ SkSpotShadowTessellator::SkSpotShadowTessellator(const SkPath& path, const SkMat
     // compute vectors for clip tests
     this->computeClipVectorsAndTestCentroid();
 
+#if defined(IS_FUZZING)
+    // TODO(kjlubick): This may be a bug, remove gate if fixed.
+    if (!SkScalarIsFinite(radius)) {
+        return;
+    }
+#endif
     // generate inner ring
     if (!SkInsetConvexPolygon(&fPathPolygon[0], fPathPolygon.count(), radius,
                               &fUmbraPolygon)) {
