From b721fdae662673ab706da897aaa1db126f8ca1a5 Mon Sep 17 00:00:00 2001
From: Michiharu Ariza <ariza@adobe.com>
Date: Sun, 4 Nov 2018 16:19:15 -0800
Subject: [PATCH] fixed leaks in CFF subr subset

---
 src/hb-ot-cff-common.hh     | 10 +++++++++-
 src/hb-subset-cff-common.hh | 10 +++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/hb-ot-cff-common.hh b/src/hb-ot-cff-common.hh
index b360e659a..b98119f54 100644
--- a/src/hb-ot-cff-common.hh
+++ b/src/hb-ot-cff-common.hh
@@ -62,8 +62,13 @@ struct code_pair
 };
 
 typedef hb_vector_t<char, 1> StrBuff;
-struct StrBuffArray :  hb_vector_t<StrBuff>
+struct StrBuffArray : hb_vector_t<StrBuff>
 {
+  inline void fini (void)
+  {
+    SUPER::fini_deep ();
+  }
+
   inline unsigned int total_size (void) const
   {
     unsigned int size = 0;
@@ -71,6 +76,9 @@ struct StrBuffArray :  hb_vector_t<StrBuff>
       size += (*this)[i].len;
     return size;
   }
+
+  private:
+  typedef hb_vector_t<StrBuff> SUPER;
 };
 
 /* CFF INDEX */
diff --git a/src/hb-subset-cff-common.hh b/src/hb-subset-cff-common.hh
index 91fa5ed74..8631d2b8d 100644
--- a/src/hb-subset-cff-common.hh
+++ b/src/hb-subset-cff-common.hh
@@ -465,11 +465,19 @@ struct ParsedCStrs : hb_vector_t<ParsedCStr>
 {
   inline void init (unsigned int len_ = 0)
   {
-    hb_vector_t<ParsedCStr>::init ();
+    SUPER::init ();
     resize (len_);
     for (unsigned int i = 0; i < len; i++)
       (*this)[i].init ();
   }
+
+  inline void fini (void)
+  {
+    SUPER::fini_deep ();
+  }
+
+  private:
+  typedef hb_vector_t<ParsedCStr> SUPER;
 };
 
 struct SubrSubsetParam