[cff] When max-ops is reached return false

Slight speedup too.
pull/4240/head
Behdad Esfahbod 2 years ago
parent 2655b7607c
commit 84354d3f23
  1. 8
      src/hb-cff-interp-cs-common.hh

@ -883,14 +883,12 @@ struct cs_interpreter_t : interpreter_t<ENV>
unsigned max_ops = HB_CFF_MAX_OPS;
for (;;) {
if (unlikely (!--max_ops))
OPSET::process_op (SUPER::env.fetch_op (), SUPER::env, param);
if (unlikely (SUPER::env.in_error () || !--max_ops))
{
SUPER::env.set_error ();
break;
}
OPSET::process_op (SUPER::env.fetch_op (), SUPER::env, param);
if (unlikely (SUPER::env.in_error ()))
return false;
}
if (SUPER::env.is_endchar ())
break;
}

Loading…
Cancel
Save