diff --git a/ChangeLog b/ChangeLog index 553017986..8ce27c39a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-03-08 Werner Lemberg + + [bdf] Add missing overflow check. + + * src/bdf/bdflib.c (_bdf_parse_glyphs) : Add threshold for + `glyph->bpr'. + 2012-03-07 Vinnie Falco Prepare source code for amalgamation. diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c index 6a66d1d1f..b7b685754 100644 --- a/src/bdf/bdflib.c +++ b/src/bdf/bdflib.c @@ -1912,7 +1912,7 @@ glyph->bpr = ( glyph->bbx.width * p->font->bpp + 7 ) >> 3; bitmap_size = glyph->bpr * glyph->bbx.height; - if ( bitmap_size > 0xFFFFU ) + if ( glyph->bpr > 0xFFFFU || bitmap_size > 0xFFFFU ) { FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG4, lineno )); error = BDF_Err_Bbx_Too_Big;