File CVE-2019-9903.patch of Package poppler.30682
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: [PATCH] pdfunite: Fix stack overflow on broken file
Fixes issue #741
---
poppler/PDFDoc.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: poppler-0.43.0/poppler/PDFDoc.cc
===================================================================
--- poppler-0.43.0.orig/poppler/PDFDoc.cc
+++ poppler-0.43.0/poppler/PDFDoc.cc
@@ -1555,13 +1555,14 @@ void PDFDoc::markDictionnary (Dict* dict
void PDFDoc::markObject (Object* obj, XRef *xRef, XRef *countRef, Guint numOffset, int oldRefNum, int newRefNum, std::set<Dict*> *alreadyMarkedDicts)
{
Array *array;
- Object obj1;
switch (obj->getType()) {
case objArray:
array = obj->getArray();
for (int i=0; i<array->getLength(); i++) {
- markObject(array->getNF(i, &obj1), xRef, countRef, numOffset, oldRefNum, newRefNum);
+ Object obj1;
+ array->getNF(i, &obj1);
+ markObject(&obj1, xRef, countRef, numOffset, oldRefNum, newRefNum, alreadyMarkedDicts);
obj1.free();
}
break;