Blame SOURCES/ghostscript-cve-2018-19477.patch

5e8686
From 606a22e77e7f081781e99e44644cd0119f559e03 Mon Sep 17 00:00:00 2001
5e8686
From: Ken Sharp <ken.sharp@artifex.com>
5e8686
Date: Wed, 14 Nov 2018 09:27:00 +0000
5e8686
Subject: [PATCH] Bug #700168 - add a type check
5e8686
5e8686
Bug #700168 "Type confusion in JBIG2Decode"
5e8686
5e8686
The code was assuming that .jbig2globalctx was a structure allocated
5e8686
by the graphics library, without checking.
5e8686
5e8686
Add a check to see that it is a structure and that its the correct
5e8686
type of structure.
5e8686
---
5e8686
 psi/zfjbig2.c | 2 ++
5e8686
 1 file changed, 2 insertions(+)
5e8686
5e8686
diff --git a/psi/zfjbig2.c b/psi/zfjbig2.c
5e8686
index a3d13a2..07b470f 100644
5e8686
--- a/psi/zfjbig2.c
5e8686
+++ b/psi/zfjbig2.c
5e8686
@@ -72,6 +72,8 @@ z_jbig2decode(i_ctx_t * i_ctx_p)
5e8686
     if (r_has_type(op, t_dictionary)) {
5e8686
         check_dict_read(*op);
5e8686
         if ( dict_find_string(op, ".jbig2globalctx", &sop) > 0) {
5e8686
+            if (!r_is_struct(sop) || !r_has_stype(sop, imemory, st_jbig2_global_data_t))
5e8686
+                return_error(gs_error_typecheck);
5e8686
             gref = r_ptr(sop, s_jbig2_global_data_t);
5e8686
             s_jbig2decode_set_global_data((stream_state*)&state, gref);
5e8686
         }
5e8686
-- 
5e8686
2.17.2
5e8686