* src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
ttmetrics here. TrueType fonts with only sbits always have ttmetrics.valid set to false. * src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is valid before loading outline glyph. * src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
This commit is contained in:
parent
3774b997b0
commit
15c1f5d36f
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
||||
2005-08-20 Chia I Wu <b90201047@ntu.edu.tw>
|
||||
|
||||
* src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
|
||||
ttmetrics here. TrueType fonts with only sbits always have
|
||||
ttmetrics.valid set to false.
|
||||
|
||||
* src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
|
||||
valid before loading outline glyph.
|
||||
|
||||
* src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
|
||||
|
||||
2005-08-20 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
|
||||
|
5
src/cache/ftcimage.c
vendored
5
src/cache/ftcimage.c
vendored
@ -78,6 +78,11 @@
|
||||
/* we will now load the glyph image */
|
||||
error = clazz->family_load_glyph( family, gindex, cache,
|
||||
&inode->glyph );
|
||||
if ( error )
|
||||
{
|
||||
FTC_INode_Free( inode, cache );
|
||||
inode = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
*pinode = inode;
|
||||
|
@ -283,7 +283,7 @@
|
||||
if ( !slot )
|
||||
return TT_Err_Invalid_Slot_Handle;
|
||||
|
||||
if ( !size || !size->ttmetrics.valid )
|
||||
if ( !size )
|
||||
return TT_Err_Invalid_Size_Handle;
|
||||
|
||||
if ( load_flags & ( FT_LOAD_NO_RECURSE | FT_LOAD_NO_SCALE ) )
|
||||
|
@ -2029,6 +2029,9 @@
|
||||
|
||||
#endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
|
||||
|
||||
if ( !size->ttmetrics.valid )
|
||||
return TT_Err_Invalid_Size_Handle;
|
||||
|
||||
if ( load_flags & FT_LOAD_SBITS_ONLY )
|
||||
return TT_Err_Invalid_Argument;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user