aboutsummaryrefslogtreecommitdiff
path: root/freetype/src/sfnt/ttload.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-08-06 10:14:25 +0000
committermarha <marha@users.sourceforge.net>2010-08-06 10:14:25 +0000
commit47ed6413ce8f2586b8d542dc46055e075a47022e (patch)
treeb814efb2655c444a4f63ac3cbb7d0cdf4bb3ef2f /freetype/src/sfnt/ttload.c
parentc115795736eb99a8f2288a06c231b9386f4d011f (diff)
downloadvcxsrv-47ed6413ce8f2586b8d542dc46055e075a47022e.tar.gz
vcxsrv-47ed6413ce8f2586b8d542dc46055e075a47022e.tar.bz2
vcxsrv-47ed6413ce8f2586b8d542dc46055e075a47022e.zip
Updated to freetype 2.4.1
Diffstat (limited to 'freetype/src/sfnt/ttload.c')
-rw-r--r--freetype/src/sfnt/ttload.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/freetype/src/sfnt/ttload.c b/freetype/src/sfnt/ttload.c
index 3ad33bd6d..1c174aff9 100644
--- a/freetype/src/sfnt/ttload.c
+++ b/freetype/src/sfnt/ttload.c
@@ -5,7 +5,8 @@
/* Load the basic TrueType tables, i.e., tables that can be either in */
/* TTF or OTF fonts (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */
+/* 2010 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -77,7 +78,8 @@
{
/* For compatibility with Windows, we consider */
/* zero-length tables the same as missing tables. */
- if ( entry->Tag == tag ) {
+ if ( entry->Tag == tag )
+ {
if ( entry->Length != 0 )
{
FT_TRACE4(( "found table.\n" ));
@@ -693,6 +695,15 @@
maxProfile->maxTwilightPoints = 0xFFFFU - 4;
}
+
+ /* we arbitrarily limit recursion to avoid stack exhaustion */
+ if ( maxProfile->maxComponentDepth > 100 )
+ {
+ FT_TRACE0(( "tt_face_load_maxp:"
+ " abnormally large component depth (%d) set to 100\n",
+ maxProfile->maxComponentDepth ));
+ maxProfile->maxComponentDepth = 100;
+ }
}
FT_TRACE3(( "numGlyphs: %u\n", maxProfile->numGlyphs ));