diff options
author | Leo Famulari <leo@famulari.name> | 2016-11-07 22:56:53 -0500 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2016-11-08 11:03:14 -0500 |
commit | 667e777b4e4b7303b6f30a001fe2539b7207b65b (patch) | |
tree | dbe21fc67ed8aca23b6d2bdafe468f99ef5ed326 /gnu/packages/patches/mupdf-CVE-2016-7506.patch | |
parent | 81bf2ccbc408fc2e959d3f5ab019938dad2ce616 (diff) | |
download | guix-667e777b4e4b7303b6f30a001fe2539b7207b65b.tar.gz |
gnu: mupdf: Fix CVE-2016-{7504,7505,7506,7563,7564,9017,9136} in bundled mujs.
* gnu/packages/patches/mupdf-CVE-2016-7504.patch, gnu/packages/patches/mupdf-CVE-2016-7505.patch gnu/packages/patches/mupdf-CVE-2016-7506.patch gnu/packages/patches/mupdf-CVE-2016-7563.patch gnu/packages/patches/mupdf-CVE-2016-7564.patch gnu/packages/patches/mupdf-CVE-2016-9017.patch gnu/packages/patches/mupdf-CVE-2016-9136.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/pdf.scm (mupdf)[source]: Use them.
Diffstat (limited to 'gnu/packages/patches/mupdf-CVE-2016-7506.patch')
-rw-r--r-- | gnu/packages/patches/mupdf-CVE-2016-7506.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/patches/mupdf-CVE-2016-7506.patch b/gnu/packages/patches/mupdf-CVE-2016-7506.patch new file mode 100644 index 0000000000..733249acaa --- /dev/null +++ b/gnu/packages/patches/mupdf-CVE-2016-7506.patch @@ -0,0 +1,42 @@ +Fix CVE-2016-7506: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7506 +http://bugs.ghostscript.com/show_bug.cgi?id=697141 + +Patch copied from upstream source repository: +http://git.ghostscript.com/?p=mujs.git;a=commitdiff;h=5000749f5afe3b956fc916e407309de840997f4a + +From 5000749f5afe3b956fc916e407309de840997f4a Mon Sep 17 00:00:00 2001 +From: Tor Andersson <tor.andersson@artifex.com> +Date: Wed, 21 Sep 2016 16:02:11 +0200 +Subject: [PATCH] Fix bug 697141: buffer overrun in regexp string substitution. + +A '$' escape at the end of the string would read past the zero terminator +when looking for the escaped character. +--- + jsstring.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/jsstring.c b/jsstring.c +index 66f6a89..0209a8e 100644 +--- a/thirdparty/mujs/jsstring.c ++++ b/thirdparty/mujs/jsstring.c +@@ -421,6 +421,7 @@ loop: + while (*r) { + if (*r == '$') { + switch (*(++r)) { ++ case 0: --r; /* end of string; back up and fall through */ + case '$': js_putc(J, &sb, '$'); break; + case '`': js_putm(J, &sb, source, s); break; + case '\'': js_puts(J, &sb, s + n); break; +@@ -516,6 +517,7 @@ static void Sp_replace_string(js_State *J) + while (*r) { + if (*r == '$') { + switch (*(++r)) { ++ case 0: --r; /* end of string; back up and fall through */ + case '$': js_putc(J, &sb, '$'); break; + case '&': js_putm(J, &sb, s, s + n); break; + case '`': js_putm(J, &sb, source, s); break; +-- +2.10.2 + |