[UVS] Remove non-essential pointer checking in previous commit.
This commit is contained in:
parent
e891e4d6f1
commit
b72e046098
20
ChangeLog
20
ChangeLog
@ -1,23 +1,3 @@
|
||||
2010-11-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
[UVS] Stabilizes UVS supporting functions against non-UVS fonts.
|
||||
|
||||
UVS supporting functions assume the variation handler functions
|
||||
are valid. When fonts without cmap format 14 is given, these
|
||||
function pointers are left as NULL, so calling these functions
|
||||
causes NULL pointer dereference.
|
||||
|
||||
* src/base/ftobjs.c (FT_Face_GetCharVariantIndex): Check the pointer
|
||||
FT_CMap_Class->char_var_index before calling it.
|
||||
(FT_Face_GetCharVariantIsDefault): Check the pointer
|
||||
FT_CMap_Class->char_var_default before calling it.
|
||||
(FT_Face_GetVariantSelectors): Check the pointer
|
||||
FT_CMap_Class->variant_list before calling it.
|
||||
(FT_Face_GetVariantsOfChar): Check the pointer
|
||||
FT_CMap_Class->charvariant_list before calling it.
|
||||
(FT_Face_GetCharsOfVariant): Check the pointer
|
||||
FT_CMap_Class->variantchar_list before calling it.
|
||||
|
||||
2010-11-01 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||
|
||||
[ftsmooth] Improve rendering.
|
||||
|
@ -3291,10 +3291,6 @@
|
||||
FT_CMap vcmap = FT_CMAP( charmap );
|
||||
|
||||
|
||||
/* font without TT cmap format 14 has no char_var_index() */
|
||||
if ( !( vcmap->clazz ) || !( vcmap->clazz->char_var_index ) )
|
||||
return result;
|
||||
|
||||
if ( charcode > 0xFFFFFFFFUL )
|
||||
{
|
||||
FT_TRACE1(( "FT_Get_Char_Index: too large charcode" ));
|
||||
@ -3336,10 +3332,6 @@
|
||||
FT_CMap vcmap = FT_CMAP( charmap );
|
||||
|
||||
|
||||
/* font without TT cmap format 14 has no char_var_index() */
|
||||
if ( !( vcmap->clazz ) || !( vcmap->clazz->char_var_default ) )
|
||||
return result;
|
||||
|
||||
if ( charcode > 0xFFFFFFFFUL )
|
||||
{
|
||||
FT_TRACE1(( "FT_Get_Char_Index: too large charcode" ));
|
||||
@ -3380,10 +3372,6 @@
|
||||
FT_Memory memory = FT_FACE_MEMORY( face );
|
||||
|
||||
|
||||
/* font without TT cmap format 14 has no variant_list() */
|
||||
if ( !( vcmap->clazz ) || !( vcmap->clazz->variant_list ) )
|
||||
return result;
|
||||
|
||||
result = vcmap->clazz->variant_list( vcmap, memory );
|
||||
}
|
||||
}
|
||||
@ -3412,10 +3400,6 @@
|
||||
FT_Memory memory = FT_FACE_MEMORY( face );
|
||||
|
||||
|
||||
/* font without TT cmap format 14 has no charvariant_list() */
|
||||
if ( !( vcmap->clazz ) || !( vcmap->clazz->charvariant_list ) )
|
||||
return result;
|
||||
|
||||
if ( charcode > 0xFFFFFFFFUL )
|
||||
{
|
||||
FT_TRACE1(( "FT_Get_Char_Index: too large charcode" ));
|
||||
@ -3450,10 +3434,6 @@
|
||||
FT_Memory memory = FT_FACE_MEMORY( face );
|
||||
|
||||
|
||||
/* font without TT cmap format 14 has no variantchar_list() */
|
||||
if ( !( vcmap->clazz ) || !( vcmap->clazz->variantchar_list ) )
|
||||
return result;
|
||||
|
||||
if ( variantSelector > 0xFFFFFFFFUL )
|
||||
{
|
||||
FT_TRACE1(( "FT_Get_Char_Index: too large variantSelector" ));
|
||||
|
Loading…
Reference in New Issue
Block a user