Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.4:ARM
poppler-qt5
poppler-CVE-2022-38349.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File poppler-CVE-2022-38349.patch of Package poppler-qt5
Index: poppler-0.79.0/poppler/PDFDoc.cc =================================================================== --- poppler-0.79.0.orig/poppler/PDFDoc.cc +++ poppler-0.79.0/poppler/PDFDoc.cc @@ -1759,6 +1759,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-0.79.0/utils/pdfunite.cc =================================================================== --- poppler-0.79.0.orig/utils/pdfunite.cc +++ poppler-0.79.0/utils/pdfunite.cc @@ -303,6 +303,14 @@ int main (int argc, char *argv[]) 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