diff options
Diffstat (limited to 'gnu/packages/patches/poppler-fix-crash-with-broken-documents.patch')
-rw-r--r-- | gnu/packages/patches/poppler-fix-crash-with-broken-documents.patch | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/gnu/packages/patches/poppler-fix-crash-with-broken-documents.patch b/gnu/packages/patches/poppler-fix-crash-with-broken-documents.patch deleted file mode 100644 index 353a16e322..0000000000 --- a/gnu/packages/patches/poppler-fix-crash-with-broken-documents.patch +++ /dev/null @@ -1,61 +0,0 @@ -Copied from: - - https://cgit.freedesktop.org/poppler/poppler/patch/?id=5c9b08a875b07853be6c44e43ff5f7f059df666a - -From 5c9b08a875b07853be6c44e43ff5f7f059df666a Mon Sep 17 00:00:00 2001 -From: Albert Astals Cid <aacid@kde.org> -Date: Sat, 27 May 2017 00:09:17 +0200 -Subject: pdfunite: Fix crash with broken documents - -Sometimes we can't parse pages so check before accessing them - -Thanks to Jiaqi Peng for the report - -Fixes bugs #101153 and #101149 - -diff --git a/utils/pdfunite.cc b/utils/pdfunite.cc -index dfe48bf..c32e201 100644 ---- a/utils/pdfunite.cc -+++ b/utils/pdfunite.cc -@@ -7,7 +7,7 @@ - // Copyright (C) 2011-2015, 2017 Thomas Freitag <Thomas.Freitag@alfa.de> - // Copyright (C) 2012 Arseny Solokha <asolokha@gmx.com> - // Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it> --// Copyright (C) 2012, 2014 Albert Astals Cid <aacid@kde.org> -+// Copyright (C) 2012, 2014, 2017 Albert Astals Cid <aacid@kde.org> - // Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com> - // Copyright (C) 2013 Hib Eris <hib@hiberis.nl> - // Copyright (C) 2015 Arthur Stavisky <vovodroid@gmail.com> -@@ -268,15 +268,15 @@ int main (int argc, char *argv[]) - catDict->lookup("OutputIntents", &intents); - catDict->lookupNF("AcroForm", &afObj); - Ref *refPage = docs[0]->getCatalog()->getPageRef(1); -- if (!afObj.isNull()) { -+ if (!afObj.isNull() && refPage) { - docs[0]->markAcroForm(&afObj, yRef, countRef, 0, refPage->num, refPage->num); - } - catDict->lookupNF("OCProperties", &ocObj); -- if (!ocObj.isNull() && ocObj.isDict()) { -+ if (!ocObj.isNull() && ocObj.isDict() && refPage) { - docs[0]->markPageObjects(ocObj.getDict(), yRef, countRef, 0, refPage->num, refPage->num); - } - catDict->lookup("Names", &names); -- if (!names.isNull() && names.isDict()) { -+ if (!names.isNull() && names.isDict() && refPage) { - docs[0]->markPageObjects(names.getDict(), yRef, countRef, 0, refPage->num, refPage->num); - } - if (intents.isArray() && intents.arrayGetLength() > 0) { -@@ -353,6 +353,10 @@ int main (int argc, char *argv[]) - - for (i = 0; i < (int) docs.size(); i++) { - for (j = 1; j <= docs[i]->getNumPages(); j++) { -+ if (!docs[i]->getCatalog()->getPage(j)) { -+ continue; -+ } -+ - PDFRectangle *cropBox = NULL; - if (docs[i]->getCatalog()->getPage(j)->isCropped()) - cropBox = docs[i]->getCatalog()->getPage(j)->getCropBox(); --- -cgit v0.10.2 - |