From dcd5bd8238ea448addd102ff045badd0aca1b990 Mon Sep 17 00:00:00 2001 From: crt 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