diff options
author | Thomas Freitag <Thomas.Freitag@alfa.de> | 2012-09-26 11:48:14 +0200 |
---|---|---|
committer | Albert Astals Cid <aacid@kde.org> | 2012-09-26 11:48:14 +0200 |
commit | 1d72c14b3877ae730ac0aa92f36923269e8a2004 (patch) | |
tree | b4f1b34fe9ccadfc11d34b515e7cd61bb12f1c31 | |
parent | 671df5dad0732882ceb9e053c3f947dfe0597f3d (diff) |
Fix crash in 158.pdf.asan.d.451
-rw-r--r-- | poppler/SplashOutputDev.cc | 8 |
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; } |