freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] parthw-cleaned 3d5f300 3/3: [pk] Improve error handling.


From: Parth Wazurkar
Subject: [freetype2] parthw-cleaned 3d5f300 3/3: [pk] Improve error handling.
Date: Tue, 31 Jul 2018 14:59:22 -0400 (EDT)

branch: parthw-cleaned
commit 3d5f300f0ccdbdcdf4e101757f06d6201856fd02
Author: Parth Wazurkar <address@hidden>
Commit: Parth Wazurkar <address@hidden>

    [pk] Improve error handling.
    
    * src/pk/pklib.c(pk_load_font): Do it.
---
 src/pk/pklib.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/pk/pklib.c b/src/pk/pklib.c
index 761c022..09a62e5 100644
--- a/src/pk/pklib.c
+++ b/src/pk/pklib.c
@@ -306,7 +306,6 @@ unsigned char   bits_table[] = {
     pre = READ_UINT1( stream );
     if (pre != PK_PRE)
     {
-      FT_ERROR(( "pk_load_font: missing PK_PRE(247) field\n" ));
       error = FT_THROW( Unknown_File_Format );
       goto Exit;
     }
@@ -314,7 +313,6 @@ unsigned char   bits_table[] = {
     id = READ_UINT1( stream );
     if (id != PK_ID)
     {
-      FT_ERROR(( "pk_load_font: missing PK_ID(89) field\n" ));
       error = FT_THROW( Unknown_File_Format );
       goto Exit;
     }
@@ -512,7 +510,7 @@ unsigned char   bits_table[] = {
           if (pk_read_14(stream, dny_f, bw, rs, &(go->bm_table[index]), cc) < 
0)
           {
             /* vf_error = VF_ERR_ILL_FONT_FILE; (FOR TRACING) */
-            error = FT_THROW( Invalid_File_Format );
+            error = FT_THROW( Unknown_File_Format );
             goto Exit;
           }
         }
@@ -521,7 +519,7 @@ unsigned char   bits_table[] = {
           if (pk_read_n14(stream, dny_f, bw, rs, &(go->bm_table[index]), cc) < 
0)
           {
             /* vf_error = VF_ERR_ILL_FONT_FILE; (FOR TRACING) */
-            error = FT_THROW( Invalid_File_Format );
+            error = FT_THROW( Unknown_File_Format );
             goto Exit;
           }
         }
@@ -539,13 +537,16 @@ unsigned char   bits_table[] = {
     return error;
 
     Exit:
-      for (i = 0; i < nchars; i++)
+      if (go != NULL)
       {
-        if (go->bm_table[i].bitmap != NULL)
-         FT_FREE(go->bm_table[i].bitmap);
+        for (i = 0; i < nchars; i++)
+        {
+          if (go->bm_table[i].bitmap != NULL)
+           FT_FREE(go->bm_table[i].bitmap);
+        }
+        FT_FREE(go->bm_table);
+        FT_FREE(go);
       }
-      FT_FREE(go->bm_table);
-      FT_FREE(go);
       return error;
   }
 



reply via email to

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