fix for subset fuzzer failure

A called subr must be freshly parsed or completely parsed. otherwise the prevoius parse must have terminated prematurely
This commit is contained in:
Michiharu Ariza 2018-11-03 15:41:29 -07:00
parent 34b06d994a
commit 1da4de7e7b
1 changed files with 3 additions and 0 deletions

View File

@ -390,6 +390,9 @@ struct CFF1CSOpSet_SubrSubset : CFF1CSOpSet<CFF1CSOpSet_SubrSubset, SubrSubsetPa
param.current_parsed_str->add_call_op (op, substr, env.context.subr_num);
hb_set_add (closure, env.context.subr_num);
param.set_current_str (env);
if ( unlikely (!param.current_parsed_str->is_parsed ()
&& (param.current_parsed_str->values.len > 0)))
env.set_error ();
}
private: