aboutsummaryrefslogtreecommitdiff
path: root/freetype/src/base/ftmac.c
diff options
context:
space:
mode:
authorMike DePaulo <mikedep333@gmail.com>2015-02-28 07:31:25 -0500
committerMike DePaulo <mikedep333@gmail.com>2015-02-28 18:11:34 -0500
commit360fe27b55c93c9c6c86895dbbf5db3efc66cc43 (patch)
tree01d8b3510d6a36ceba211168268d09658a8aa68b /freetype/src/base/ftmac.c
parenta769ab7159f0718e189f1aaa8b6a5a046c66c52c (diff)
downloadvcxsrv-360fe27b55c93c9c6c86895dbbf5db3efc66cc43.tar.gz
vcxsrv-360fe27b55c93c9c6c86895dbbf5db3efc66cc43.tar.bz2
vcxsrv-360fe27b55c93c9c6c86895dbbf5db3efc66cc43.zip
Updated to freetype 2.5.5
Conflicts: freetype/src/base/ftbdf.c freetype/src/base/fttype1.c freetype/src/pfr/pfrobjs.c
Diffstat (limited to 'freetype/src/base/ftmac.c')
-rw-r--r--freetype/src/base/ftmac.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/freetype/src/base/ftmac.c b/freetype/src/base/ftmac.c
index 6607b3d29..459f004b5 100644
--- a/freetype/src/base/ftmac.c
+++ b/freetype/src/base/ftmac.c
@@ -8,7 +8,7 @@
/* This file is for Mac OS X only; see builds/mac/ftoldmac.c for */
/* classic platforms built by MPW. */
/* */
-/* Copyright 1996-2009, 2013 by */
+/* Copyright 1996-2009, 2013, 2014 by */
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -227,6 +227,9 @@
FT_Error err;
+ if ( !fontName || !face_index )
+ return FT_THROW( Invalid_Argument) ;
+
err = FT_GetFileRef_From_Mac_ATS_Name( fontName, &ref, face_index );
if ( err )
return err;
@@ -256,6 +259,9 @@
FT_Error err;
+ if ( !fontName || !face_index )
+ return FT_THROW( Invalid_Argument );
+
err = FT_GetFileRef_From_Mac_ATS_Name( fontName, &ref, face_index );
if ( err )
return err;
@@ -440,9 +446,10 @@
style = (StyleTable*)p;
p += sizeof ( StyleTable );
string_count = EndianS16_BtoN( *(short*)(p) );
+ string_count = FT_MIN( 64, string_count );
p += sizeof ( short );
- for ( i = 0; i < string_count && i < 64; i++ )
+ for ( i = 0; i < string_count; i++ )
{
names[i] = p;
p += names[i][0];
@@ -459,7 +466,7 @@
ps_name[ps_name_len] = 0;
}
if ( style->indexes[face_index] > 1 &&
- style->indexes[face_index] <= FT_MIN( string_count, 64 ) )
+ style->indexes[face_index] <= string_count )
{
unsigned char* suffixes = names[style->indexes[face_index] - 1];
@@ -852,6 +859,8 @@
FT_Error error = FT_Err_Ok;
+ /* check of `library' and `aface' delayed to `FT_New_Face_From_XXX' */
+
GetResInfo( fond, &fond_id, &fond_type, fond_name );
if ( ResError() != noErr || fond_type != TTAG_FOND )
return FT_THROW( Invalid_File_Format );
@@ -997,10 +1006,14 @@
{
FT_Error error;
FT_Open_Args args;
- OSErr err;
- UInt8 pathname[PATH_MAX];
+
+ OSErr err;
+ UInt8 pathname[PATH_MAX];
+ /* check of `library' and `aface' delayed to */
+ /* `FT_New_Face_From_Resource' */
+
if ( !ref )
return FT_THROW( Invalid_Argument );
@@ -1047,6 +1060,8 @@
FSRef ref;
+ /* check of `library' and `aface' delayed to `FT_New_Face_From_FSRef' */
+
if ( !spec || FSpMakeFSRef( spec, &ref ) != noErr )
return FT_THROW( Invalid_Argument );
else