shithub: freetype+ttf2subf

Download patch

ref: 9a0332cd3fe0840cd96665863829980df7ca43a6
parent: 6c05475d501663b77d8e4ccc00e792322c082ad8
author: Werner Lemberg <[email protected]>
date: Tue Jun 5 01:50:01 EDT 2007

* src/pfr/pfrgload.c (pfr_glyph_curve_to, pfr_glyph_line_to): Convert
assertion into normal FreeType error.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,8 +4,8 @@
 	(pfr_glyph_load_simple): Convert assertion into normal FreeType
 	error.
 	Check `idx'.
-	(pfr_glyph_load_compound): Convert assertion into normal FreeType
-	error.
+	(pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
+	Convert assertion into normal FreeType error.
 
 	* src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
 
--- a/src/pfr/pfrgload.c
+++ b/src/pfr/pfrgload.c
@@ -133,7 +133,12 @@
 
 
     /* check that we have begun a new path */
-    FT_ASSERT( glyph->path_begun != 0 );
+    if ( !glyph->path_begun )
+    {
+      error = PFR_Err_Invalid_Table;
+      FT_ERROR(( "pfr_glyph_line_to: invalid glyph data\n" ));
+      goto Exit;
+    }
 
     error = FT_GLYPHLOADER_CHECK_POINTS( loader, 1, 0 );
     if ( !error )
@@ -147,6 +152,7 @@
       outline->n_points++;
     }
 
+  Exit:
     return error;
   }
 
@@ -163,7 +169,12 @@
 
 
     /* check that we have begun a new path */
-    FT_ASSERT( glyph->path_begun != 0 );
+    if ( !glyph->path_begun )
+    {
+      error = PFR_Err_Invalid_Table;
+      FT_ERROR(( "pfr_glyph_line_to: invalid glyph data\n" ));
+      goto Exit;
+    }
 
     error = FT_GLYPHLOADER_CHECK_POINTS( loader, 3, 0 );
     if ( !error )
@@ -182,6 +193,7 @@
       outline->n_points = (FT_Short)( outline->n_points + 3 );
     }
 
+  Exit:
     return error;
   }