diff options
author | caryclark <caryclark@google.com> | 2016-10-20 12:36:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-10-20 12:36:16 -0700 |
commit | 78a37a53365c24670b050acf993818c435922745 (patch) | |
tree | ddc114a5ad3a36c03cce034736552e5a3cca2fa7 /src/pathops | |
parent | 61013b235f474cf1c02d7b69ff36bd05700f9a38 (diff) |
fix more fuzz, carsvg
Fix a few kevin-generated fuzzers.
Remove an assert triggered by
carsvg when thrown through the
distance field stuff.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2427253005
Review-Url: https://chromiumcodereview.appspot.com/2427253005
Diffstat (limited to 'src/pathops')
-rw-r--r-- | src/pathops/SkOpAngle.cpp | 4 | ||||
-rwxr-xr-x | src/pathops/SkOpCoincidence.cpp | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/pathops/SkOpAngle.cpp b/src/pathops/SkOpAngle.cpp index 1223ac106e..5ebf913798 100644 --- a/src/pathops/SkOpAngle.cpp +++ b/src/pathops/SkOpAngle.cpp @@ -160,9 +160,9 @@ bool SkOpAngle::after(SkOpAngle* test) { return COMPARE_RESULT(9, trOpposite); } else if (lrOrder == 1 && trOrder == 1) { SkASSERT(ltOrder < 0); - SkDEBUGCODE(bool trOpposite = oppositePlanes(rh)); +// SkDEBUGCODE(bool trOpposite = oppositePlanes(rh)); bool lrOpposite = lh->oppositePlanes(rh); - SkASSERT(lrOpposite != trOpposite); +// SkASSERT(lrOpposite != trOpposite); return COMPARE_RESULT(10, lrOpposite); } if (lrOrder < 0) { diff --git a/src/pathops/SkOpCoincidence.cpp b/src/pathops/SkOpCoincidence.cpp index dcd22854f8..ef0ea60cc8 100755 --- a/src/pathops/SkOpCoincidence.cpp +++ b/src/pathops/SkOpCoincidence.cpp @@ -481,7 +481,12 @@ bool SkOpCoincidence::addExpanded(DEBUG_COIN_DECLARE_ONLY_PARAMS()) { } if (oTest != oEnd) { oPriorT = oTest->t(); - oTest = coin->flipped() ? oTest->prev() : oTest->upCast()->next(); + if (coin->flipped()) { + oTest = oTest->prev(); + } else { + FAIL_IF(!oTest->upCastable()); + oTest = oTest->upCast()->next(); + } FAIL_IF(!oTest); } @@ -864,6 +869,7 @@ bool SkOpCoincidence::addOverlap(const SkOpSegment* seg1, const SkOpSegment* seg s2 = overS->find(seg2o); e2 = overE->find(seg2o); FAIL_IF(!s2); + FAIL_IF(!e2); if (!s2->starter(e2)->span()->upCast()->windValue()) { return true; } |