summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Freitag <Thomas.Freitag@alfa.de>2012-09-26 11:48:14 +0200
committerAlbert Astals Cid <aacid@kde.org>2012-09-26 11:48:14 +0200
commit1d72c14b3877ae730ac0aa92f36923269e8a2004 (patch)
treeb4f1b34fe9ccadfc11d34b515e7cd61bb12f1c31
parent671df5dad0732882ceb9e053c3f947dfe0597f3d (diff)
Fix crash in 158.pdf.asan.d.451
-rw-r--r--poppler/SplashOutputDev.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc
index 9e070605..79c49008 100644
--- a/poppler/SplashOutputDev.cc
+++ b/poppler/SplashOutputDev.cc
@@ -2282,6 +2282,14 @@ GBool SplashOutputDev::beginType3Char(GfxState *state, double x, double y,
// create new entry in the font cache
if (nT3Fonts == splashOutT3FontCacheSize) {
+ t3gs = t3GlyphStack;
+ while (t3gs != NULL) {
+ if (t3gs->cache == t3FontCache[nT3Fonts - 1]) {
+ error(errSyntaxWarning, -1, "t3FontCache reaches limit but font still on stack in SplashOutputDev::beginType3Char");
+ return gTrue;
+ }
+ t3gs = t3gs->next;
+ }
delete t3FontCache[nT3Fonts - 1];
--nT3Fonts;
}