diff options
-rw-r--r-- | splash/Splash.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/splash/Splash.cc b/splash/Splash.cc index af609b46..d0d986ef 100644 --- a/splash/Splash.cc +++ b/splash/Splash.cc @@ -2252,11 +2252,14 @@ SplashPath *Splash::makeDashedPath(SplashPath *path) { lineDashStartOn = gTrue; lineDashStartIdx = 0; if (lineDashStartPhase > 0) { - while (lineDashStartPhase >= state->lineDash[lineDashStartIdx]) { + while (lineDashStartIdx < state->lineDashLength && lineDashStartPhase >= state->lineDash[lineDashStartIdx]) { lineDashStartOn = !lineDashStartOn; lineDashStartPhase -= state->lineDash[lineDashStartIdx]; ++lineDashStartIdx; } + if (unlikely(lineDashStartIdx == state->lineDashLength)) { + return new SplashPath(); + } } dPath = new SplashPath(); |