aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
diff options
context:
space:
mode:
authorGravatar Cary Clark <caryclark@skia.org>2018-03-21 15:27:08 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-21 20:24:19 +0000
commitcec40a9320b441d4482130092534d0eac209346c (patch)
treeade1c573a3fec878d3aaa146e5c231ea7dfcb68b /src/effects
parent2f2a6e3960ae60baa0de8b9e7771210fe9c52659 (diff)
limit discrete path effect iterations
R=fmalita@google.com, reed@google.com Bug: skia:7737 Change-Id: I339548f7a39618d7559182487e8969d591953b89 Reviewed-on: https://skia-review.googlesource.com/115659 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Cary Clark <caryclark@skia.org>
Diffstat (limited to 'src/effects')
-rw-r--r--src/effects/SkDiscretePathEffect.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/effects/SkDiscretePathEffect.cpp b/src/effects/SkDiscretePathEffect.cpp
index f188bfa818..1912c93fda 100644
--- a/src/effects/SkDiscretePathEffect.cpp
+++ b/src/effects/SkDiscretePathEffect.cpp
@@ -102,6 +102,8 @@ bool SkDiscretePathEffect::filterPath(SkPath* dst, const SkPath& src,
meas.getSegment(0, length, dst, true); // to short for us to mangle
} else {
int n = SkScalarRoundToInt(length / fSegLength);
+ constexpr int kMaxReasonableIterations = 100000;
+ n = SkTMin(n, kMaxReasonableIterations);
SkScalar delta = length / n;
SkScalar distance = 0;