aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Cary Clark <caryclark@skia.org>2018-04-02 12:40:49 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-04-03 17:38:00 +0000
commit8d8a5d9543951ef8c25eff0ea6220daae823e236 (patch)
treec13c2ba625f194e543a346e9c369caab4d9fcb25
parent27d42198d3cdd44918854539e7111d551eb9f995 (diff)
fix pathop fuzzes
throw an error instead of asserting for one for the other, only assert if the values are trusted. That's not ideal, but I don't see an easy way to insert a fail safety hatch in this code and if the assert is ignored, no further assert is triggered. verified that extended tests run without problem on debug and release R=kjlubick@google.com Bug: skia: Change-Id: I5544b6cbef97479854dbecb05baae6b2c41cabc9 Reviewed-on: https://skia-review.googlesource.com/117725 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Kevin Lubick <kjlubick@google.com>
-rw-r--r--src/pathops/SkOpCoincidence.cpp2
-rw-r--r--src/pathops/SkOpSpan.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/pathops/SkOpCoincidence.cpp b/src/pathops/SkOpCoincidence.cpp
index 73ab3ab8dd..ab848c8c9f 100644
--- a/src/pathops/SkOpCoincidence.cpp
+++ b/src/pathops/SkOpCoincidence.cpp
@@ -850,7 +850,7 @@ bool SkOpCoincidence::addMissing(bool* added DEBUG_COIN_DECLARE_PARAMS()) {
}
} else if (outerOpp == innerOpp) {
const SkOpPtT* ooe = outer->oppPtTEnd();
- SkASSERT(!ooe->deleted());
+ FAIL_IF(ooe->deleted());
const SkOpPtT* ioe = inner->oppPtTEnd();
if (ioe->deleted()) {
return true;
diff --git a/src/pathops/SkOpSpan.h b/src/pathops/SkOpSpan.h
index af1481e920..bedeabd6b1 100644
--- a/src/pathops/SkOpSpan.h
+++ b/src/pathops/SkOpSpan.h
@@ -127,7 +127,7 @@ public:
*eOut = between(s1->fT, end2->fT, e1->fT) ? end2
: between(s2->fT, end1->fT, e2->fT) ? end1 : nullptr;
if (*sOut == *eOut) {
- SkASSERT(start1->fT >= end2->fT || start2->fT >= end1->fT);
+ SkOPOBJASSERT(s1, start1->fT >= end2->fT || start2->fT >= end1->fT);
return false;
}
SkASSERT(!*sOut || *sOut != *eOut);