Don't compare against uninit edge in SkPath::conservativelyContainsRect

Bug: chromium:752478

Change-Id: Ic281f06b300329ea9823b3eb76cc56b7a43fd2a5
Reviewed-on: https://skia-review.googlesource.com/31520
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp
index e304b4d..4f781c4 100644
--- a/src/core/SkPath.cpp
+++ b/src/core/SkPath.cpp
@@ -275,8 +275,8 @@
     SkPath::Iter iter(*this, true);
     SkPath::Verb verb;
     SkPoint pts[4];
+    int segmentCount = 0;
     SkDEBUGCODE(int moveCnt = 0;)
-    SkDEBUGCODE(int segmentCount = 0;)
     SkDEBUGCODE(int closeCount = 0;)
 
     while ((verb = iter.next(pts, true, true)) != kDone_Verb) {
@@ -290,17 +290,17 @@
             case kLine_Verb:
                 nextPt = 1;
                 SkASSERT(moveCnt && !closeCount);
-                SkDEBUGCODE(++segmentCount);
+                ++segmentCount;
                 break;
             case kQuad_Verb:
             case kConic_Verb:
                 SkASSERT(moveCnt && !closeCount);
-                SkDEBUGCODE(++segmentCount);
+                ++segmentCount;
                 nextPt = 2;
                 break;
             case kCubic_Verb:
                 SkASSERT(moveCnt && !closeCount);
-                SkDEBUGCODE(++segmentCount);
+                ++segmentCount;
                 nextPt = 3;
                 break;
             case kClose_Verb:
@@ -332,7 +332,10 @@
         }
     }
 
-    return check_edge_against_rect(prevPt, firstPt, rect, direction);
+    if (segmentCount) {
+        return check_edge_against_rect(prevPt, firstPt, rect, direction);
+    }
+    return false;
 }
 
 uint32_t SkPath::getGenerationID() const {