27 lines
855 B
Diff
27 lines
855 B
Diff
From dcd5bd8238ea448addd102ff045badd0aca1b990 Mon Sep 17 00:00:00 2001
|
|
From: crt <chluo@cse.cuhk.edu.hk>
|
|
Date: Wed, 27 Jul 2022 08:40:02 +0000
|
|
Subject: [PATCH] pdfseparate: Check XRef's Catalog for being a Dict
|
|
|
|
---
|
|
poppler/PDFDoc.cc | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc
|
|
index 6e4b0f4..43de80e 100644
|
|
--- a/poppler/PDFDoc.cc
|
|
+++ b/poppler/PDFDoc.cc
|
|
@@ -948,6 +948,10 @@ int PDFDoc::savePageAs(const GooString *name, int pageNo)
|
|
|
|
// get and mark output intents etc.
|
|
Object catObj = getXRef()->getCatalog();
|
|
+ if (!catObj.isDict()) {
|
|
+ error(errSyntaxError, -1, "XRef's Catelog is not a dictionary");
|
|
+ return errOpenFile;
|
|
+ }
|
|
Dict *catDict = catObj.getDict();
|
|
Object pagesObj = catDict->lookup("Pages");
|
|
Object afObj = catDict->lookupNF("AcroForm").copy();
|
|
--
|
|
2.33.0
|