From 03b0cc2ea9b63f57ec58f77d8cc1350691d7140a Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Fri, 2 Jun 2017 09:16:52 +0200 Subject: [bdf] Don't left-shift negative numbers. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2031 * src/bdf/bdfdrivr.c (BDF_Face_Init): Use multiplication. --- ChangeLog | 10 ++++++++++ src/bdf/bdfdrivr.c | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6d921bacb..6194a2fe6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2017-06-02 Werner Lemberg + + [bdf] Don't left-shift negative numbers. + + Reported as + + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2031 + + * src/bdf/bdfdrivr.c (BDF_Face_Init): Use multiplication. + 2017-06-02 Werner Lemberg [bdf] Fix integer scanning routines. diff --git a/src/bdf/bdfdrivr.c b/src/bdf/bdfdrivr.c index c0a5a5c50..540d367c6 100644 --- a/src/bdf/bdfdrivr.c +++ b/src/bdf/bdfdrivr.c @@ -455,11 +455,11 @@ THE SOFTWARE. bsize->size = (FT_Pos)( ( prop->value.l * 64 * 7200 + 36135L ) / 72270L ); else - bsize->size = bsize->width << 6; + bsize->size = bsize->width * 64; prop = bdf_get_font_property( font, "PIXEL_SIZE" ); if ( prop ) - bsize->y_ppem = (FT_Short)prop->value.l << 6; + bsize->y_ppem = (FT_Short)prop->value.l * 64; prop = bdf_get_font_property( font, "RESOLUTION_X" ); if ( prop ) -- cgit v1.2.1