[bdf] Fix Savannah bug #35656.

* src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
of nibble characters instead of accessing `a2i' array.
This commit is contained in:
Werner Lemberg 2012-03-01 16:43:20 +01:00
parent 7d35a7dc7c
commit 6ac022dc75
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2012-03-01 Werner Lemberg <wl@gnu.org>
[bdf] Fix Savannah bug #35656.
* src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
of nibble characters instead of accessing `a2i' array.
2012-03-01 Werner Lemberg <wl@gnu.org>
[winfonts] Fix Savannah bug #35659.

View File

@ -1746,7 +1746,7 @@
for ( i = 0; i < nibbles; i++ )
{
c = line[i];
if ( !c )
if ( !isdigok( hdigits, c ) )
break;
*bp = (FT_Byte)( ( *bp << 4 ) + a2i[c] );
if ( i + 1 < nibbles && ( i & 1 ) )
@ -1769,9 +1769,9 @@
*bp &= nibble_mask[mask_index];
/* If any line has extra columns, indicate they have been removed. */
if ( i == nibbles &&
( line[nibbles] == '0' || a2i[(int)line[nibbles]] != 0 ) &&
!( p->flags & _BDF_GLYPH_WIDTH_CHECK ) )
if ( i == nibbles &&
isdigok( hdigits, line[nibbles] ) &&
!( p->flags & _BDF_GLYPH_WIDTH_CHECK ) )
{
FT_TRACE2(( "_bdf_parse_glyphs: " ACMSG14, glyph->encoding ));
p->flags |= _BDF_GLYPH_WIDTH_CHECK;