From b224e2f5739fe61de9fa69955d016725b2a4b78d Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Mon, 15 Jul 2019 22:11:09 +0200 Subject: [PATCH] SplashOutputDev::tilingPatternFill: Fix crash on broken file Issue #802 --- poppler/SplashOutputDev.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc index 544f132d..3d2befc2 100644 --- a/poppler/SplashOutputDev.cc +++ b/poppler/SplashOutputDev.cc @@ -4581,6 +4581,10 @@ bool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *cat surface_width = (int) ceil (fabs(kx)); surface_height = (int) ceil (fabs(ky)); // adjust repeat values to completely fill region + if (unlikely(surface_width == 0 || surface_height == 0)) { + state->setCTM(savedCTM[0], savedCTM[1], savedCTM[2], savedCTM[3], savedCTM[4], savedCTM[5]); + return gFalse; + } repeatX = result_width / surface_width; repeatY = result_height / surface_height; if (surface_width * repeatX < result_width) -- 2.24.1