summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Bünzli <zeniko@gmail.com>2014-02-19 08:42:52 +0100
committerWerner Lemberg <wl@gnu.org>2014-02-19 09:31:23 +0100
commitdf14e6c0b9592cbb24d5381dfc6106b14f915e75 (patch)
tree0477d7155bd29209a51a44e143daa405abca266a
parentcc9a0c26af5fc640c8518153781f38719be1944f (diff)
downloadfreetype2-df14e6c0b9592cbb24d5381dfc6106b14f915e75.tar.gz
Fix Savannah bug #41590.
* src/type1/t1load.c (parse_encoding): Protect against invalid number.
-rw-r--r--ChangeLog7
-rw-r--r--src/type1/t1load.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 945962f9e..c1d5aeabd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,13 @@
* src/autofit/hbshim.c: Include `afglobal.h' and `aftypes.h'.
+2014-02-19 Simon Bünzli <zeniko@gmail.com>
+
+ Fix Savannah bug #41590.
+
+ * src/type1/t1load.c (parse_encoding): Protect against invalid
+ number.
+
2014-02-12 Dave Arnold <darnold@adobe.com>
[cff] Optimize by using `FT_MulDiv'.
diff --git a/src/type1/t1load.c b/src/type1/t1load.c
index d4171d967..e2da9565e 100644
--- a/src/type1/t1load.c
+++ b/src/type1/t1load.c
@@ -1274,6 +1274,13 @@
{
charcode = (FT_Int)T1_ToInt( parser );
T1_Skip_Spaces( parser );
+
+ /* protect against invalid charcode */
+ if ( cur == parser->root.cursor )
+ {
+ parser->root.error = FT_THROW( Unknown_File_Format );
+ return;
+ }
}
cur = parser->root.cursor;