From fda200658e3d3e2db466c9eb81be349df94c6704 Mon Sep 17 00:00:00 2001 From: Garret Rieger Date: Thu, 2 Feb 2023 22:03:36 +0000 Subject: [PATCH] [subset] fix missing compiled glyph cleanup when serialization succeeds. --- src/OT/glyf/glyf.hh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/OT/glyf/glyf.hh b/src/OT/glyf/glyf.hh index d3e6ed404..29328c762 100644 --- a/src/OT/glyf/glyf.hh +++ b/src/OT/glyf/glyf.hh @@ -110,12 +110,11 @@ struct glyf padded_offsets[i] = glyphs[i].length (); } - if (!glyf_prime->serialize (c->serializer, glyphs.writer (), use_short_loca, c->plan)) - { - if (c->plan->normalized_coords && !c->plan->pinned_at_default) - _free_compiled_subset_glyphs (glyphs, glyphs.length - 1); - return false; - } + bool result = glyf_prime->serialize (c->serializer, glyphs.writer (), use_short_loca, c->plan); + if (c->plan->normalized_coords && !c->plan->pinned_at_default) + _free_compiled_subset_glyphs (glyphs, glyphs.length - 1); + + if (!result) return false; if (unlikely (c->serializer->in_error ())) return_trace (false);