more leak fixes
authorMichiharu Ariza <ariza@adobe.com>
Tue, 4 Dec 2018 18:22:35 +0000 (10:22 -0800)
committerMichiharu Ariza <ariza@adobe.com>
Tue, 4 Dec 2018 18:22:35 +0000 (10:22 -0800)
src/hb-ot-cff1-table.hh
src/hb-ot-cff2-table.hh

index 4221bdd..181b0bc 100644 (file)
@@ -1133,7 +1133,7 @@ struct cff1
     {
       sc.end_processing ();
       topDict.fini ();
-      fontDicts.fini ();
+      fontDicts.fini_deep ();
       privateDicts.fini_deep ();
       hb_blob_destroy (blob);
       blob = nullptr;
index 3c4191c..330c1a3 100644 (file)
@@ -486,6 +486,7 @@ struct cff2
        CFF2FontDict_Interpreter font_interp;
        font_interp.env.init (fontDictStr);
        font = fontDicts.push ();
+       if (font == &Crap(CFF2FontDictValues)) { fini (); return; }
        font->init ();
        if (unlikely (!font_interp.interpret (*font))) { fini (); return; }
 
@@ -506,7 +507,7 @@ struct cff2
     inline void fini (void)
     {
       sc.end_processing ();
-      fontDicts.fini ();
+      fontDicts.fini_deep ();
       privateDicts.fini_deep ();
       hb_blob_destroy (blob);
       blob = nullptr;