diff options
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/src/psaux/psintrp.c')
-rw-r--r-- | Build/source/libs/freetype2/freetype-src/src/psaux/psintrp.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/src/psaux/psintrp.c b/Build/source/libs/freetype2/freetype-src/src/psaux/psintrp.c index 6c640eebd5a..c550533a0fc 100644 --- a/Build/source/libs/freetype2/freetype-src/src/psaux/psintrp.c +++ b/Build/source/libs/freetype2/freetype-src/src/psaux/psintrp.c @@ -1900,8 +1900,7 @@ /* WeightVector */ { FT_UInt idx; - PS_Blend blend = decoder->blend; - FT_UInt len_buildchar = decoder->len_buildchar; + PS_Blend blend = decoder->blend; if ( arg_cnt != 1 || !blend ) @@ -1909,15 +1908,14 @@ idx = (FT_UInt)cf2_stack_popInt( opStack ); - if ( len_buildchar < blend->num_designs || - len_buildchar - blend->num_designs < idx ) + if ( idx + blend->num_designs > + decoder->len_buildchar ) goto Unexpected_OtherSubr; - if ( decoder->buildchar && blend->weight_vector ) - ft_memcpy( &decoder->buildchar[idx], - blend->weight_vector, - blend->num_designs * - sizeof ( blend->weight_vector[0] ) ); + ft_memcpy( &decoder->buildchar[idx], + blend->weight_vector, + blend->num_designs * + sizeof ( blend->weight_vector[0] ) ); } break; |