Commit 0f6f367ec1a8ae01311523ceb8029b754b8b2945

Werner Lemberg 2007-07-04T19:57:45

Better maxComponentDepth test.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index 29736ab..d63fb99 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -1084,9 +1084,10 @@
 #endif
 
 
-    /* some fonts haven't this field set correctly, */
-    /* thus we add 1 to catch the majority of them  */
-    if ( recurse_count > (FT_UInt)face->max_profile.maxComponentDepth + 1 )
+    /* some fonts have an incorrect value of `maxComponentDepth', */
+    /* thus we allow depth 1 to catch the majority of them        */
+    if ( recurse_count > 1                                   &&
+         recurse_count > face->max_profile.maxComponentDepth )
     {
       error = TT_Err_Invalid_Composite;
       goto Exit;