From a9c305c2b00b7e793dc3d8333eee43d677aebd42 Mon Sep 17 00:00:00 2001 From: Michiharu Ariza Date: Thu, 1 Nov 2018 10:31:21 -0700 Subject: [PATCH] fix leaks --- src/hb-subset-cff1.cc | 4 ++-- src/hb-subset-cff2.cc | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/hb-subset-cff1.cc b/src/hb-subset-cff1.cc index 4654ac9a9..baac97714 100644 --- a/src/hb-subset-cff1.cc +++ b/src/hb-subset-cff1.cc @@ -443,8 +443,8 @@ struct cff_subset_plan { topdict_mod.fini (); subset_fdselect_ranges.fini (); fdmap.fini (); - subset_charstrings.fini (); - subset_globalsubrs.fini (); + subset_charstrings.fini_deep (); + subset_globalsubrs.fini_deep (); subset_localsubrs.fini_deep (); fontdicts_mod.fini (); subset_enc_code_ranges.fini (); diff --git a/src/hb-subset-cff2.cc b/src/hb-subset-cff2.cc index 22a35c52f..0f6f1435b 100644 --- a/src/hb-subset-cff2.cc +++ b/src/hb-subset-cff2.cc @@ -129,16 +129,15 @@ struct CFF2CSOpSet_Flatten : CFF2CSOpSet static inline void flatten_blends (const BlendArg &arg, unsigned int i, CFF2CSInterpEnv &env, FlattenParam& param) { /* flatten the default values */ + StrEncoder encoder (param.flatStr); for (unsigned int j = 0; j < arg.numValues; j++) { const BlendArg &arg1 = env.argStack[i + j]; assert (arg1.blending () && (arg.numValues == arg1.numValues) && (arg1.valueIndex == j) && (arg1.deltas.len == env.get_region_count ())); - StrEncoder encoder (param.flatStr); encoder.encode_num (arg1); } /* flatten deltas for each value */ - StrEncoder encoder (param.flatStr); for (unsigned int j = 0; j < arg.numValues; j++) { const BlendArg &arg1 = env.argStack[i + j];