From 89c6c06b8c42107dd231687a1012354e7d3039fc Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 26 Nov 2017 11:42:28 +0000 Subject: gentoo resync : 26.11.2017 --- .../files/poppler-0.57.0-CVE-2017-14928.patch | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 app-text/poppler/files/poppler-0.57.0-CVE-2017-14928.patch (limited to 'app-text/poppler/files/poppler-0.57.0-CVE-2017-14928.patch') diff --git a/app-text/poppler/files/poppler-0.57.0-CVE-2017-14928.patch b/app-text/poppler/files/poppler-0.57.0-CVE-2017-14928.patch new file mode 100644 index 000000000000..bd2af863423b --- /dev/null +++ b/app-text/poppler/files/poppler-0.57.0-CVE-2017-14928.patch @@ -0,0 +1,69 @@ +From 6bf7212c44d0131c8f8227a4a4dadc52a3afebd9 Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid +Date: Fri, 8 Sep 2017 18:29:42 +0200 +Subject: [PATCH 1/3] Annot: Fix crash on broken files + +Bug #102607 + +(cherry picked from commit 1316c7a41f4dd7276f404f775ebb5fef2d24ab1c) +--- + poppler/Annot.cc | 42 +++++++++++++++++++++++------------------- + 1 file changed, 23 insertions(+), 19 deletions(-) + +diff --git a/poppler/Annot.cc b/poppler/Annot.cc +index 974b098b..27b698db 100644 +--- a/poppler/Annot.cc ++++ b/poppler/Annot.cc +@@ -6982,26 +6982,30 @@ AnnotRichMedia::Configuration::Configuration(Dict *dict) + } else if (!strcmp(name, "Video")) { + type = typeVideo; + } else { +- // determine from first instance ++ // determine from first non null instance ++ type = typeFlash; // default in case all instances are null + if (instances && nInstances > 0) { +- AnnotRichMedia::Instance *instance = instances[0]; +- switch (instance->getType()) { +- case AnnotRichMedia::Instance::type3D: +- type = type3D; +- break; +- case AnnotRichMedia::Instance::typeFlash: +- type = typeFlash; +- break; +- case AnnotRichMedia::Instance::typeSound: +- type = typeSound; +- break; +- case AnnotRichMedia::Instance::typeVideo: +- type = typeVideo; +- break; +- default: +- type = typeFlash; +- break; +- } ++ for (int i = 0; i < nInstances; ++i) { ++ AnnotRichMedia::Instance *instance = instances[i]; ++ if (instance) { ++ switch (instance->getType()) { ++ case AnnotRichMedia::Instance::type3D: ++ type = type3D; ++ break; ++ case AnnotRichMedia::Instance::typeFlash: ++ type = typeFlash; ++ break; ++ case AnnotRichMedia::Instance::typeSound: ++ type = typeSound; ++ break; ++ case AnnotRichMedia::Instance::typeVideo: ++ type = typeVideo; ++ break; ++ } ++ // break the loop since we found the first non null instance ++ break; ++ } ++ } + } + } + } +-- +2.14.1 + -- cgit v1.2.3