Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:FrontRunner
poppler
poppler-CVE-2022-38349.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File poppler-CVE-2022-38349.patch of Package poppler
Index: poppler-22.01.0/poppler/PDFDoc.cc =================================================================== --- poppler-22.01.0.orig/poppler/PDFDoc.cc +++ poppler-22.01.0/poppler/PDFDoc.cc @@ -1747,6 +1747,9 @@ void PDFDoc::replacePageDict(int pageNo, { Ref *refPage = getCatalog()->getPageRef(pageNo); Object page = getXRef()->fetch(*refPage); + if (!page.isDict()) { + return; + } Dict *pageDict = page.getDict(); pageDict->remove("MediaBoxssdf"); pageDict->remove("MediaBox"); Index: poppler-22.01.0/utils/pdfunite.cc =================================================================== --- poppler-22.01.0.orig/utils/pdfunite.cc +++ poppler-22.01.0/utils/pdfunite.cc @@ -289,6 +289,14 @@ int main(int argc, char *argv[]) docs[i]->replacePageDict(j, docs[i]->getCatalog()->getPage(j)->getRotate(), docs[i]->getCatalog()->getPage(j)->getMediaBox(), cropBox); Ref *refPage = docs[i]->getCatalog()->getPageRef(j); Object page = docs[i]->getXRef()->fetch(*refPage); + if (!page.isDict()) { + fclose(f); + delete yRef; + delete countRef; + delete outStr; + error(errSyntaxError, -1, "PDFDoc::replacePageDict failed."); + return -1; + } Dict *pageDict = page.getDict(); Object *resDict = docs[i]->getCatalog()->getPage(j)->getResourceDictObject(); if (resDict->isDict()) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor