ref: d087199f2c1388024b37fb3c3836e103aeded6c0
parent: c217bf19f02f0d0442bd58516dfab4fabf74ed2c
author: Werner Lemberg <[email protected]>
date: Mon Jun 7 04:46:01 EDT 2010
Fix Savannah bug #30052. This bug has been introduced with commit 2415cbf3. * src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Protect against endless loop in case of corrupted font header data.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2010-06-07 Werner Lemberg <[email protected]>
+
+ Fix Savannah bug #30052.
+ This bug has been introduced with commit 2415cbf3.
+
+ * src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Protect
+ against endless loop in case of corrupted font header data.
+
2010-05-26 Werner Lemberg <[email protected]>
Remove unused variable.
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -3111,7 +3111,7 @@
FT_UInt gindex = 0;
- if ( face && face->charmap )
+ if ( face && face->charmap && face->num_glyphs )
{
gindex = FT_Get_Char_Index( face, 0 );
if ( gindex == 0 || gindex >= (FT_UInt)face->num_glyphs )
@@ -3136,7 +3136,7 @@
FT_UInt gindex = 0;
- if ( face && face->charmap )
+ if ( face && face->charmap && face->num_glyphs )
{
FT_UInt32 code = (FT_UInt32)charcode;
FT_CMap cmap = FT_CMAP( face->charmap );