poppler/SplashOutputDev.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
New commits: commit 5689c990a187108ddc0a88b9825ba3bea644368f Author: Thomas Freitag <[email protected]> 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 <[email protected]> // Copyright (C) 2007 Koji Otani <[email protected]> // Copyright (C) 2009 Petr Gajdos <[email protected]> -// Copyright (C) 2009-2015 Thomas Freitag <[email protected]> +// Copyright (C) 2009-2016 Thomas Freitag <[email protected]> // Copyright (C) 2009 Carlos Garcia Campos <[email protected]> // Copyright (C) 2009, 2014, 2015 William Bader <[email protected]> // Copyright (C) 2010 Patrick Spendrin <[email protected]> @@ -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; _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
