[poppler] poppler/SplashOutputDev.cc

Albert Astals Cid aacid at kemper.freedesktop.org
Tue Feb 16 00:48:58 UTC 2016


 poppler/SplashOutputDev.cc |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

New commits:
commit 5689c990a187108ddc0a88b9825ba3bea644368f
Author: Thomas Freitag <Thomas.Freitag at alfa.de>
Date:   Tue Feb 16 01:44:31 2016 +0100

    Adjust limit check and check in addition bitmap pointer
    
    Bug #94053

diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc
index d2827d1..ac0f9ac 100644
--- a/poppler/SplashOutputDev.cc
+++ b/poppler/SplashOutputDev.cc
@@ -20,7 +20,7 @@
 // Copyright (C) 2006 Scott Turner <scotty1024 at mac.com>
 // Copyright (C) 2007 Koji Otani <sho at bbr.jp>
 // Copyright (C) 2009 Petr Gajdos <pgajdos at novell.com>
-// Copyright (C) 2009-2015 Thomas Freitag <Thomas.Freitag at alfa.de>
+// Copyright (C) 2009-2016 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2009 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright (C) 2009, 2014, 2015 William Bader <williambader at hotmail.com>
 // Copyright (C) 2010 Patrick Spendrin <ps_ml at gmx.de>
@@ -4481,7 +4481,7 @@ GBool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *ca
     repeatX = x1 - x0;
     repeatY = y1 - y0;
   } else {
-    if ((unsigned long) result_width * result_height > 0x800000L) {
+    if ((unsigned long) surface_width * surface_height > 0x800000L) {
       state->setCTM(savedCTM[0], savedCTM[1], savedCTM[2], savedCTM[3], savedCTM[4], savedCTM[5]);
       return gFalse;
     }
@@ -4525,6 +4525,13 @@ GBool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *ca
 
   bitmap = new SplashBitmap(surface_width, surface_height, 1,
                             (paintType == 1) ? colorMode : splashModeMono8, gTrue);
+  if (bitmap->getDataPtr() == NULL) {
+    SplashBitmap *tBitmap = bitmap;
+    bitmap = formerBitmap;
+    delete tBitmap;
+    state->setCTM(savedCTM[0], savedCTM[1], savedCTM[2], savedCTM[3], savedCTM[4], savedCTM[5]);
+    return gFalse;
+  }
   splash = new Splash(bitmap, gTrue);
   if (paintType == 2) {
     SplashColor clearColor;


More information about the poppler mailing list