Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-updates-src > by-pkgid > 764c577bb9f3af3549ecc920f98f8270 > files > 18

freetype2-2.4.4-5.5.mga1.src.rpm

From 6ac022dc750d95296a6f731b9594f2e751d997fa Mon Sep 17 00:00:00 2001
From: Werner Lemberg <wl@gnu.org>
Date: Thu, 01 Mar 2012 15:43:20 +0000
Subject: [bdf] Fix Savannah bug #35656.

* src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
of nibble characters instead of accessing `a2i' array.
---
diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index fc635c9..6a66d1d 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -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;
--
cgit v0.9.0.2