pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.

This commit is contained in:
suzuki toshiya 2009-07-03 18:01:42 +09:00
parent 2dacccc174
commit 12f2ee55a1
2 changed files with 15 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2009-07-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
* src/pcf/pcfread.c (pcf_get_properties): Load `nprops'
as FT_ULong value from PCF file, but truncate it as
int to fit PCF_Face->nprops. The number of truncated
properties is shown in the trace message.
2009-07-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
gxvalid: Extend a few local variables to reduce the casts.

View File

@ -399,7 +399,7 @@ THE SOFTWARE.
{
PCF_ParseProperty props = 0;
PCF_Property properties;
FT_UInt nprops, i;
FT_ULong nprops, i;
FT_ULong format, size;
FT_Error error;
FT_Memory memory = FT_FACE(face)->memory;
@ -433,7 +433,10 @@ THE SOFTWARE.
if ( error )
goto Bail;
FT_TRACE4(( " nprop = %d\n", nprops ));
FT_TRACE4(( " nprop = %d (truncate %d props)\n",
(int)nprops, nprops - (int)nprops ));
nprops = nprops - (int)nprops;
/* rough estimate */
if ( nprops > size / PCF_PROPERTY_SIZE )
@ -442,7 +445,7 @@ THE SOFTWARE.
goto Bail;
}
face->nprops = nprops;
face->nprops = (int)nprops;
if ( FT_NEW_ARRAY( props, nprops ) )
goto Bail;