diff --git a/src/hb-cff-interp-common.hh b/src/hb-cff-interp-common.hh index 058dc0cdd..1cd165615 100644 --- a/src/hb-cff-interp-common.hh +++ b/src/hb-cff-interp-common.hh @@ -520,6 +520,11 @@ struct parsed_values_t } void fini () { values.fini (); } + void alloc (unsigned n) + { + values.alloc (n); + } + void add_op (op_code_t op, const byte_str_ref_t& str_ref = byte_str_ref_t ()) { VAL *val = values.push (); diff --git a/src/hb-subset-cff-common.hh b/src/hb-subset-cff-common.hh index e3fae0850..0405b35bf 100644 --- a/src/hb-subset-cff-common.hh +++ b/src/hb-subset-cff-common.hh @@ -569,6 +569,7 @@ struct subr_subsetter_t ENV env (str, acc, fd); cs_interpreter_t interp (env); + parsed_charstrings[i].alloc (str.length); subr_subset_param_t param (&parsed_charstrings[i], &parsed_global_subrs, &parsed_local_subrs[fd],