21 lines
793 B
Diff
21 lines
793 B
Diff
|
From fada09a2ccc11a3a1d308e810f1336d8df6011fd Mon Sep 17 00:00:00 2001
|
||
|
From: Albert Astals Cid <aacid@kde.org>
|
||
|
Date: Mon, 18 Mar 2019 00:50:00 +0100
|
||
|
Subject: pdfunite: Fix stack overflow on broken file
|
||
|
|
||
|
Fixes issue #741
|
||
|
|
||
|
diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc
|
||
|
index 26842f84..ab4abcad 100644
|
||
|
--- a/poppler/PDFDoc.cc
|
||
|
+++ b/poppler/PDFDoc.cc
|
||
|
@@ -1703,7 +1703,7 @@ void PDFDoc::markObject (Object* obj, XRef *xRef, XRef *countRef, unsigned int n
|
||
|
array = obj->getArray();
|
||
|
for (int i=0; i<array->getLength(); i++) {
|
||
|
Object obj1 = array->getNF(i);
|
||
|
- markObject(&obj1, xRef, countRef, numOffset, oldRefNum, newRefNum);
|
||
|
+ markObject(&obj1, xRef, countRef, numOffset, oldRefNum, newRefNum, alreadyMarkedDicts);
|
||
|
}
|
||
|
break;
|
||
|
case objDict:
|