summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2014-11-22 13:29:10 +0100
committerWerner Lemberg <wl@gnu.org>2014-11-22 13:29:10 +0100
commitaf8346172a7b573715134f7a51e6c5c60fa7f2ab (patch)
tree91479cdd9c633e739d4f085582a0eb658b1d7c94
parent42fcd6693ec7bd6ffc65ddc63e74287a65dda669 (diff)
downloadfreetype2-af8346172a7b573715134f7a51e6c5c60fa7f2ab.tar.gz
[bdf] Fix Savannah bug #43660.
* src/bdf/bdflib.c (_bdf_parse_glyphs) <"ENDFONT">: Check `_BDF_GLYPH_BITS'.
-rw-r--r--ChangeLog7
-rw-r--r--src/bdf/bdflib.c8
2 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 20a79d0..aa28289 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2014-11-22 Werner Lemberg <wl@gnu.org>
+ [bdf] Fix Savannah bug #43660.
+
+ * src/bdf/bdflib.c (_bdf_parse_glyphs) <"ENDFONT">: Check
+ `_BDF_GLYPH_BITS'.
+
+2014-11-22 Werner Lemberg <wl@gnu.org>
+
[type42] Allow only embedded TrueType fonts.
This is a follow-up to Savannah bug #43659.
diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index c128526..369c111 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -1555,6 +1555,14 @@
/* Check for the ENDFONT field. */
if ( _bdf_strncmp( line, "ENDFONT", 7 ) == 0 )
{
+ if ( p->flags & _BDF_GLYPH_BITS )
+ {
+ /* Missing ENDCHAR field. */
+ FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG1, lineno, "ENDCHAR" ));
+ error = FT_THROW( Corrupted_Font_Glyphs );
+ goto Exit;
+ }
+
/* Sort the glyphs by encoding. */
ft_qsort( (char *)font->glyphs,
font->glyphs_used,