ref: eec405540d3148bd581c3cdf7e7f126581739ccd
parent: eceaffef3e1e2bf93583d6eabc6e1ba1b567e40f
author: suzuki toshiya <[email protected]>
date: Fri Jul 31 20:32:24 EDT 2009
pcf: Fix a comparison between FT_Long and FT_ULong.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2009-07-31 suzuki toshiya <[email protected]>
+ pcf: Fix a comparison between FT_Long and FT_ULong.
+
+ * src/pcf/pcfread.c (pcf_get_bitmaps): Return an error
+ if PCF_Face->nemetrics is negative.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
* src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate):
--- a/src/pcf/pcfread.c
+++ b/src/pcf/pcfread.c
@@ -692,7 +692,8 @@
FT_TRACE4(( " number of bitmaps: %d\n", nbitmaps ));
- if ( nbitmaps != face->nmetrics )
+ /* XXX: PCF_Face->nmetrics is singed FT_Long, see pcf.h */
+ if ( face->nmetrics < 0 || nbitmaps != ( FT_ULong )face->nmetrics )
return PCF_Err_Invalid_File_Format;
if ( FT_NEW_ARRAY( offsets, nbitmaps ) )