diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2016-10-08 16:10:27 +0100 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2016-10-08 16:18:05 +0100 |
commit | f5c7555c30393e64ec1f5ab0dfae5b55b3b3fc78 (patch) | |
tree | f3d174b0e35684ebf508371c373e6b30b22d1f23 | |
parent | a5360401495654e89301b2516703c1d2877fc5ba (diff) |
Bug 697203: check for sufficient params in .sethalftone5
and param types
-rw-r--r-- | psi/zht2.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/psi/zht2.c b/psi/zht2.c index fb4a2649d..dfa27a40f 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_gstate *pgs = igs; - int space_index = r_space_index(op - 1); + int space_index; + + if (ref_stack_count(&o_stack) < 2) + return_error(gs_error_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]; |