shithub: freetype+ttf2subf

Download patch

ref: 7ae9b9996bfd2e4a2f63e7d987f577c30023781b
parent: 6e88087d6962714e2cf1d1ddba56cfeb2cf9c02c
author: Werner Lemberg <[email protected]>
date: Sat May 7 12:24:03 EDT 2016

[cache] Allow value 0 for face ID.

We never dereference `face_id', and some implementations might use a
running number instead of a pointer.  Additionally, disallowing
value zero was undocumented.

* src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c
(FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for
`face_id'.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2016-05-07  Werner Lemberg  <[email protected]>
+
+	[cache] Allow value 0 for face ID.
+
+	We never dereference `face_id', and some implementations might use a
+	running number instead of a pointer.  Additionally, disallowing
+	value zero was undocumented.
+
+	* src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c
+	(FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for
+	`face_id'.
+
 2016-05-05  Alexei Podtelezhnikov  <[email protected]>
 
 	[smooth] More efficient accounting of conic splits and draws.
--- a/src/cache/ftccmap.c
+++ b/src/cache/ftccmap.c
@@ -259,9 +259,6 @@
       return 0;
     }
 
-    if ( !face_id )
-      return 0;
-
     query.face_id    = face_id;
     query.cmap_index = (FT_UInt)cmap_index;
     query.char_code  = char_code;
--- a/src/cache/ftcmanag.c
+++ b/src/cache/ftcmanag.c
@@ -314,7 +314,7 @@
     FTC_MruNode  mrunode;
 
 
-    if ( !aface || !face_id )
+    if ( !aface )
       return FT_THROW( Invalid_Argument );
 
     *aface = NULL;
@@ -672,7 +672,7 @@
     FT_UInt  nn;
 
 
-    if ( !manager || !face_id )
+    if ( !manager )
       return;
 
     /* this will remove all FTC_SizeNode that correspond to