@ -590,11 +590,17 @@
char * key ;
FT_Offset len ;
int n = - 1 ;
FT_Int tmp ;
if ( afm_parser_read_int ( parser , & fi - > NumTrackKern ) )
if ( afm_parser_read_int ( parser , & tmp ) )
goto Fail ;
if ( tmp < 0 )
goto Fail ;
fi - > NumTrackKern = ( FT_UInt ) tmp ;
if ( fi - > NumTrackKern )
{
FT_Memory memory = parser - > memory ;
@ -615,7 +621,7 @@
case AFM_TOKEN_TRACKKERN :
n + + ;
if ( n > = fi - > NumTrackKern )
if ( n > = ( int ) fi - > NumTrackKern )
goto Fail ;
tk = fi - > TrackKerns + n ;
@ -639,7 +645,7 @@
case AFM_TOKEN_ENDTRACKKERN :
case AFM_TOKEN_ENDKERNDATA :
case AFM_TOKEN_ENDFONTMETRICS :
fi - > NumTrackKern = n + 1 ;
fi - > NumTrackKern = ( FT_UInt ) ( n + 1 ) ;
return FT_Err_Ok ;
case AFM_TOKEN_UNKNOWN :
@ -688,11 +694,17 @@
char * key ;
FT_Offset len ;
int n = - 1 ;
FT_Int tmp ;
if ( afm_parser_read_int ( parser , & fi - > NumKernPair ) )
if ( afm_parser_read_int ( parser , & tmp ) )
goto Fail ;
if ( tmp < 0 )
goto Fail ;
fi - > NumKernPair = ( FT_UInt ) tmp ;
if ( fi - > NumKernPair )
{
FT_Memory memory = parser - > memory ;
@ -720,7 +732,7 @@
n + + ;
if ( n > = fi - > NumKernPair )
if ( n > = ( int ) fi - > NumKernPair )
goto Fail ;
kp = fi - > KernPairs + n ;
@ -733,8 +745,9 @@
if ( r < 3 )
goto Fail ;
kp - > index1 = shared_vals [ 0 ] . u . i ;
kp - > index2 = shared_vals [ 1 ] . u . i ;
/* index values can't be negative */
kp - > index1 = shared_vals [ 0 ] . u . u ;
kp - > index2 = shared_vals [ 1 ] . u . u ;
if ( token = = AFM_TOKEN_KPY )
{
kp - > x = 0 ;
@ -752,7 +765,7 @@
case AFM_TOKEN_ENDKERNPAIRS :
case AFM_TOKEN_ENDKERNDATA :
case AFM_TOKEN_ENDFONTMETRICS :
fi - > NumKernPair = n + 1 ;
fi - > NumKernPair = ( FT_UInt ) ( n + 1 ) ;
ft_qsort ( fi - > KernPairs , fi - > NumKernPair ,
sizeof ( AFM_KernPairRec ) ,
afm_compare_kern_pairs ) ;