[pcf] Fix integer overflows (#45985).
* src/pcf/pcfread.c (pcf_load_font): Use FT_MulDiv.
This commit is contained in:
parent
9db9adda0f
commit
c838c4f7b5
|
@ -1,3 +1,9 @@
|
|||
2015-09-17 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[pcf] Fix integer overflows (#45985).
|
||||
|
||||
* src/pcf/pcfread.c (pcf_load_font): Use FT_MulDiv.
|
||||
|
||||
2015-09-17 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[pcf] Use FT_ABS for some property values (#45893).
|
||||
|
|
|
@ -1290,7 +1290,7 @@ THE SOFTWARE.
|
|||
bsize->width = (FT_Short)( ( FT_ABS( prop->value.l ) + 5 ) / 10 );
|
||||
}
|
||||
else
|
||||
bsize->width = (FT_Short)( bsize->height * 2 / 3 );
|
||||
bsize->width = (FT_Short)FT_MulDiv( bsize->height, 2, 3 );
|
||||
|
||||
prop = pcf_find_property( face, "POINT_SIZE" );
|
||||
if ( prop )
|
||||
|
@ -1339,10 +1339,12 @@ THE SOFTWARE.
|
|||
{
|
||||
bsize->y_ppem = bsize->size;
|
||||
if ( resolution_y )
|
||||
bsize->y_ppem = bsize->y_ppem * resolution_y / 72;
|
||||
bsize->y_ppem = FT_MulDiv( bsize->y_ppem, resolution_y, 72 );
|
||||
}
|
||||
if ( resolution_x && resolution_y )
|
||||
bsize->x_ppem = bsize->y_ppem * resolution_x / resolution_y;
|
||||
bsize->x_ppem = FT_MulDiv( bsize->y_ppem,
|
||||
resolution_x,
|
||||
resolution_y );
|
||||
else
|
||||
bsize->x_ppem = bsize->y_ppem;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue