diff options
Diffstat (limited to 'backport-CVE-2022-37050.patch')
-rw-r--r-- | backport-CVE-2022-37050.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/backport-CVE-2022-37050.patch b/backport-CVE-2022-37050.patch new file mode 100644 index 0000000..599ffbe --- /dev/null +++ b/backport-CVE-2022-37050.patch @@ -0,0 +1,26 @@ +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 |