diff options
Diffstat (limited to 'app-text/poppler/files/poppler-0.57.0-CVE-2017-14617.patch')
-rw-r--r-- | app-text/poppler/files/poppler-0.57.0-CVE-2017-14617.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app-text/poppler/files/poppler-0.57.0-CVE-2017-14617.patch b/app-text/poppler/files/poppler-0.57.0-CVE-2017-14617.patch new file mode 100644 index 000000000000..279479536129 --- /dev/null +++ b/app-text/poppler/files/poppler-0.57.0-CVE-2017-14617.patch @@ -0,0 +1,31 @@ +From 939465c40902d72e0c05d4f3a27ee67e4a007ed7 Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid <aacid@kde.org> +Date: Tue, 19 Sep 2017 21:19:03 +0200 +Subject: [PATCH] Fix crash in broken files + +Bug #102854 +--- + poppler/Stream.cc | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/poppler/Stream.cc b/poppler/Stream.cc +index f4eda85b..0ad602c7 100644 +--- a/poppler/Stream.cc ++++ b/poppler/Stream.cc +@@ -454,11 +454,10 @@ ImageStream::ImageStream(Stream *strA, int widthA, int nCompsA, int nBitsA) { + } else { + imgLineSize = nVals; + } +- if (width > INT_MAX / nComps) { +- // force a call to gmallocn(-1,...), which will throw an exception ++ if (nComps <= 0 || width > INT_MAX / nComps) { + imgLineSize = -1; + } +- imgLine = (Guchar *)gmallocn(imgLineSize, sizeof(Guchar)); ++ imgLine = (Guchar *)gmallocn_checkoverflow(imgLineSize, sizeof(Guchar)); + } + imgIdx = nVals; + } +-- +2.14.1 + |