summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2012-03-08 20:11:37 +0100
committerWerner Lemberg <wl@gnu.org>2012-03-08 20:11:37 +0100
commitc4cad30ed1b1f554aa41a98b0b0fdca6e579e22f (patch)
treec7b37d71a35680d83ce5d1b6e75fede07374adc6
parent26dfeb6d63940f1068cd482b7f506289eea5bafa (diff)
downloadfreetype2-c4cad30ed1b1f554aa41a98b0b0fdca6e579e22f.tar.gz
[bdf] Add missing overflow check.
* src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for `glyph->bpr'.
-rw-r--r--ChangeLog7
-rw-r--r--src/bdf/bdflib.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 553017986..8ce27c39a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-03-08 Werner Lemberg <wl@gnu.org>
+
+ [bdf] Add missing overflow check.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for
+ `glyph->bpr'.
+
2012-03-07 Vinnie Falco <vinnie.falco@gmail.com>
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;