summary refs log tree commit diff
path: root/gnu/packages/patches/ghostscript-CVE-2016-8602.patch
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2016-10-13 05:53:07 -0400
committerMark H Weaver <mhw@netris.org>2016-10-13 05:53:07 -0400
commit061d7f3bd2cc67c964acb2cb1bde07ee61df5d1a (patch)
tree5b22d1081972956d9190c94a7cc2b271d5f85d67 /gnu/packages/patches/ghostscript-CVE-2016-8602.patch
parentf2ec23d18e50eef3e4f574a3e6498d8964e4e1a3 (diff)
parent1cc213850a2009d55e137fee990f9743894c76c5 (diff)
downloadguix-061d7f3bd2cc67c964acb2cb1bde07ee61df5d1a.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/patches/ghostscript-CVE-2016-8602.patch')
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2016-8602.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/patches/ghostscript-CVE-2016-8602.patch b/gnu/packages/patches/ghostscript-CVE-2016-8602.patch
new file mode 100644
index 0000000000..aaf20b6c6c
--- /dev/null
+++ b/gnu/packages/patches/ghostscript-CVE-2016-8602.patch
@@ -0,0 +1,47 @@
+The following patch was adapted for GNU Ghostscript
+by Mark H Weaver <mhw@netris.org> based on:
+
+http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=f5c7555c30393e64ec1f5ab0dfae5b55b3b3fc78
+
+From f5c7555c30393e64ec1f5ab0dfae5b55b3b3fc78 Mon Sep 17 00:00:00 2001
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Sat, 8 Oct 2016 16:10:27 +0100
+Subject: [PATCH] Bug 697203: check for sufficient params in .sethalftone5
+
+and param types
+---
+ psi/zht2.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/psi/zht2.c b/psi/zht2.c
+index fb4a264..dfa27a4 100644
+--- a/psi/zht2.c
++++ b/psi/zht2.c
+@@ -82,14 +82,22 @@ zsethalftone5(i_ctx_t *i_ctx_p)
+     gs_memory_t *mem;
+     uint edepth = ref_stack_count(&e_stack);
+     int npop = 2;
+-    int dict_enum = dict_first(op);
++    int dict_enum;
+     ref rvalue[2];
+     int cname, colorant_number;
+     byte * pname;
+     uint name_size;
+     int halftonetype, type = 0;
+     gs_state *pgs = igs;
+-    int space_index = r_space_index(op - 1);
++    int space_index;
++
++    if (ref_stack_count(&o_stack) < 2)
++        return_error(e_stackunderflow);
++    check_type(*op, t_dictionary);
++    check_type(*(op - 1), t_dictionary);
++
++    dict_enum = dict_first(op);
++    space_index = r_space_index(op - 1);
+ 
+     mem = (gs_memory_t *) idmemory->spaces_indexed[space_index];
+ 
+-- 
+2.9.1
+