diff options
| author | Werner Lemberg <wl@gnu.org> | 2012-12-15 02:02:23 +0100 |
|---|---|---|
| committer | Werner Lemberg <wl@gnu.org> | 2012-12-15 02:02:23 +0100 |
| commit | 07bdb6e289c7954e2a533039dc93c1c136099d2d (patch) | |
| tree | c5db3bd0a2200fc52329f324918426ee7af606d6 | |
| parent | 9b6b5754b57c12b820e01305eb69b8863a161e5a (diff) | |
| download | freetype2-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-- | ChangeLog | 7 | ||||
| -rw-r--r-- | src/bdf/bdflib.c | 5 |
2 files changed, 10 insertions, 2 deletions
@@ -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; |
