summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Freitag <Thomas.Freitag@alfa.de>2012-01-15 15:07:18 +0100
committerAlbert Astals Cid <aacid@kde.org>2012-01-15 15:07:18 +0100
commit7d171e19257023cda55d0040257e8f0a2008271f (patch)
tree12513db4bb864524ff21f6072db04ef743fce6e6
parent81c989d905b6ba053c87d2a661d71853ddf96b99 (diff)
Fix stack overflow in PDFDoc::markObject()
Bug 44660
-rw-r--r--poppler/PDFDoc.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc
index 2758206f..1c853853 100644
--- a/poppler/PDFDoc.cc
+++ b/poppler/PDFDoc.cc
@@ -26,7 +26,7 @@
// Copyright (C) 2010 Ilya Gorenbein <igorenbein@finjan.com>
// Copyright (C) 2010 Srinivas Adicherla <srinivas.adicherla@geodesic.com>
// Copyright (C) 2010 Philip Lorenz <lorenzph+freedesktop@gmail.com>
-// Copyright (C) 2011 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2011, 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -1234,6 +1234,8 @@ void PDFDoc::markObject (Object* obj, XRef *xRef, XRef *countRef, Guint numOffse
} else {
XRefEntry *entry = countRef->getEntry(obj->getRef().num + numOffset);
entry->gen++;
+ if (entry->gen > 9)
+ break;
}
Object obj1;
getXRef()->fetch(obj->getRef().num, obj->getRef().gen, &obj1);