gs: check for sufficient params in .sethalftone5

ghostscript bug 697203, upstream commit f5c7555c303
This commit is contained in:
mischief 2017-03-13 18:12:17 -07:00
parent 9b2d3ed37a
commit 07a14612a1

View file

@ -81,20 +81,26 @@ zsethalftone5(i_ctx_t *i_ctx_p)
gs_memory_t *mem; gs_memory_t *mem;
uint edepth = ref_stack_count(&e_stack); uint edepth = ref_stack_count(&e_stack);
int npop = 2; int npop = 2;
int dict_enum = dict_first(op); int dict_enum;
ref rvalue[2]; ref rvalue[2];
int cname, colorant_number; int cname, colorant_number;
byte * pname; byte * pname;
uint name_size; uint name_size;
int halftonetype, type = 0; int halftonetype, type = 0;
gs_state *pgs = igs; 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]; mem = (gs_memory_t *) idmemory->spaces_indexed[space_index];
check_type(*op, t_dictionary);
check_dict_read(*op); check_dict_read(*op);
check_type(op[-1], t_dictionary);
check_dict_read(op[-1]); check_dict_read(op[-1]);
/* /*