From bfa6b2ecbe48edc69a7d9d22a12419aed25960b8 Mon Sep 17 00:00:00 2001
From: Chris Liddell <chris.liddell@artifex.com>
Date: Thu, 6 Apr 2017 16:44:54 +0100
Subject: [PATCH] Bug 697548: use the correct param list enumerator

When we encountered dictionary in a ref_param_list, we were using the enumerator
for the "parent" param_list, rather than the enumerator for the param_list
we just created for the dictionary. That parent was usually the stack
list enumerator, and caused a segfault.

Using the correct enumerator works better.

Upstream-Status: Backport
CVE: CVE-2017-5951

Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
---
 psi/iparam.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/psi/iparam.c b/psi/iparam.c
index 4e63b6d..b2fa85f 100644
--- a/psi/iparam.c
+++ b/psi/iparam.c
@@ -770,12 +770,13 @@ ref_param_read_typed(gs_param_list * plist, gs_param_name pkey,
                 gs_param_enumerator_t enumr;
                 gs_param_key_t key;
                 ref_type keytype;
+                dict_param_list *dlist = (dict_param_list *) pvalue->value.d.list;
 
                 param_init_enumerator(&enumr);
-                if (!(*((iparam_list *) plist)->enumerate)
-                    ((iparam_list *) pvalue->value.d.list, &enumr, &key, &keytype)
+                if (!(*(dlist->enumerate))
+                    ((iparam_list *) dlist, &enumr, &key, &keytype)
                     && keytype == t_integer) {
-                    ((dict_param_list *) pvalue->value.d.list)->int_keys = 1;
+                    dlist->int_keys = 1;
                     pvalue->type = gs_param_type_dict_int_keys;
                 }
             }
-- 
2.10.2

