Fix more 32bit issues (#54208)

* src/cff/cffload.c (cff_blend_build_vector): Convert assertion into
run-time error.

* src/truetype/ttgxvar.c (ft_var_to_normalized): Protect against
numeric overflow.
This commit is contained in:
Werner Lemberg 2018-07-05 22:31:10 +02:00
parent 29f05fd02d
commit 6ceeb87f5d
3 changed files with 22 additions and 5 deletions

View File

@ -1,3 +1,13 @@
2018-07-05 Werner Lemberg <wl@gnu.org>
Fix more 32bit issues (#54208)
* src/cff/cffload.c (cff_blend_build_vector): Convert assertion into
run-time error.
* src/truetype/ttgxvar.c (ft_var_to_normalized): Protect against
numeric overflow.
2018-07-04 Werner Lemberg <wl@gnu.org>
Fix 32bit build warnings (#54239).

View File

@ -1398,7 +1398,14 @@
FT_UInt master;
FT_ASSERT( lenNDV == 0 || NDV );
/* protect against malformed fonts */
if ( !( lenNDV == 0 || NDV ) )
{
FT_TRACE4(( " cff_blend_build_vector:"
" Malformed Normalize Design Vector data\n" ));
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
blend->builtBV = FALSE;

View File

@ -1780,11 +1780,11 @@
}
if ( coord < a->def )
normalized[i] = -FT_DivFix( coord - a->def,
a->minimum - a->def );
normalized[i] = -FT_DivFix( SUB_LONG( coord, a->def ),
SUB_LONG( a->minimum, a->def ) );
else if ( coord > a->def )
normalized[i] = FT_DivFix( coord - a->def,
a->maximum - a->def );
normalized[i] = FT_DivFix( SUB_LONG( coord, a->def ),
SUB_LONG( a->maximum, a->def ) );
else
normalized[i] = 0;
}