summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2012-12-15 02:02:23 +0100
committerWerner Lemberg <wl@gnu.org>2012-12-15 02:02:23 +0100
commit07bdb6e289c7954e2a533039dc93c1c136099d2d (patch)
treec5db3bd0a2200fc52329f324918426ee7af606d6
parent9b6b5754b57c12b820e01305eb69b8863a161e5a (diff)
downloadfreetype2-07bdb6e289c7954e2a533039dc93c1c136099d2d.tar.gz
[bdf] Fix Savannah bug #37906.
* src/bdf/bdflib.c (_bdf_parse_glyphs): Use correct array size for checking `glyph_enc'.
-rw-r--r--ChangeLog7
-rw-r--r--src/bdf/bdflib.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5c9e7eb..2cf618d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2012-12-15 Werner Lemberg <wl@gnu.org>
+ [bdf] Fix Savannah bug #37906.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs): Use correct array size for
+ checking `glyph_enc'.
+
+2012-12-15 Werner Lemberg <wl@gnu.org>
+
[bdf] Fix Savannah bug #37905.
* src/bdf/bdflib.c (_bdf_parse_start): Reset `props_size' to zero in
diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index 8d7f9a0..f9c06ca 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -1628,8 +1628,9 @@
/* Check that the encoding is in the Unicode range because */
/* otherwise p->have (a bitmap with static size) overflows. */
- if ( p->glyph_enc > 0 &&
- (size_t)p->glyph_enc >= sizeof ( p->have ) * 8 )
+ if ( p->glyph_enc > 0 &&
+ (size_t)p->glyph_enc >= sizeof ( p->have ) /
+ sizeof ( unsigned long ) * 32 )
{
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG5, lineno, "ENCODING" ));
error = BDF_Err_Invalid_File_Format;