[subset] fix missing compiled glyph cleanup when serialization succeeds.
diff --git a/src/OT/glyf/glyf.hh b/src/OT/glyf/glyf.hh
index d3e6ed4..29328c7 100644
--- a/src/OT/glyf/glyf.hh
+++ b/src/OT/glyf/glyf.hh
@@ -110,12 +110,11 @@
         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);