ref: d3ed6d1bba27aaae4774db957a82caa6d5b67632
parent: 0d226c31c5f3ba8e3eb2cd5a86e5137d25c4cc64
author: suzuki toshiya <[email protected]>
date: Fri Jul 31 20:30:24 EDT 2009
psaux: Prevent invalid arguments to afm_parser_read_vals().
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2009-07-31 suzuki toshiya <[email protected]>
+ psaux: Prevent invalid arguments to afm_parser_read_vals().
+
+ * src/psaux/afmparse.c (afm_parser_read_vals): Change
+ the type of `n' to prevent negative number how many
+ arguments should be parsed.
+
+ * src/psaux/afmparse.h (afm_parser_read_vals): Ditto.
+
+2009-07-31 suzuki toshiya <[email protected]>
+
base: Prevent some overflows on LP64 systems.
* src/base/ftadvance.c (FT_Get_Advances): Cast the
--- a/src/psaux/afmparse.c
+++ b/src/psaux/afmparse.c
@@ -366,11 +366,11 @@
FT_LOCAL_DEF( FT_Int )
afm_parser_read_vals( AFM_Parser parser,
AFM_Value vals,
- FT_Int n )
+ FT_UInt n )
{
AFM_Stream stream = parser->stream;
char* str;
- FT_Int i;
+ FT_UInt i;
if ( n > AFM_MAX_ARGUMENTS )
--- a/src/psaux/afmparse.h
+++ b/src/psaux/afmparse.h
@@ -71,7 +71,7 @@
FT_LOCAL( FT_Int )
afm_parser_read_vals( AFM_Parser parser,
AFM_Value vals,
- FT_Int n );
+ FT_UInt n );
/* read the next key from the next line or column */
FT_LOCAL( char* )