freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] parthw-cleaned 097c4cf: [gf] Fix memory leak errors.


From: Parth Wazurkar
Subject: [freetype2] parthw-cleaned 097c4cf: [gf] Fix memory leak errors.
Date: Tue, 10 Jul 2018 04:49:00 -0400 (EDT)

branch: parthw-cleaned
commit 097c4cf616697a8e3df44fcc80ab6d249308bcff
Author: Parth Wazurkar <address@hidden>
Commit: Parth Wazurkar <address@hidden>

    [gf] Fix memory leak errors.
    
    * src/gf/gfdrivr.c: Improve GF_Face_Done and
    GF_Face_Init functions to fix memory leak errors.
---
 src/gf/gfdrivr.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/gf/gfdrivr.c b/src/gf/gfdrivr.c
index 6ce8665..7726033 100644
--- a/src/gf/gfdrivr.c
+++ b/src/gf/gfdrivr.c
@@ -142,9 +142,9 @@
 
     memory = FT_FACE_MEMORY( face );
 
-    /*gf_free_font( face );*/
+    gf_free_font( face );
 
-    /*FT_FREE( gfface->available_sizes );*/
+    FT_FREE( gfface->available_sizes );
 
   }
 
@@ -186,7 +186,7 @@
     {
       FT_TRACE2(( "glyph bitmaps not allocated\n" ));
       error = FT_THROW( Invalid_File_Format );
-      goto Fail;
+      goto Exit;
     }
 
     /* GF cannot have multiple faces in a single font file.
@@ -229,7 +229,7 @@
     {
       FT_ERROR(( "GF_Face_Init: glyphs not allocated\n" ));
       error = FT_THROW( Invalid_File_Format );
-      goto Fail;
+      goto Exit;
     }
 
     gfface->num_fixed_sizes = 1;
@@ -264,21 +264,22 @@
       error = FT_CMap_New( &gf_cmap_class, NULL, &charmap, NULL );
 
       if ( error )
-        goto Fail;
+        goto Exit;
     }
 
     if ( go->code_max < go->code_min )
     {
       FT_TRACE2(( "invalid number of glyphs\n" ));
       error = FT_THROW( Invalid_File_Format );
-      goto Fail;
+      goto Exit;
     }
 
-  Fail:
-    GF_Face_Done( gfface );
-
   Exit:
     return error;
+
+  Fail:
+    GF_Face_Done( gfface );
+    return FT_THROW( Unknown_File_Format );
   }
 
   FT_CALLBACK_DEF( FT_Error )



reply via email to

[Prev in Thread] Current Thread [Next in Thread]