shithub: freetype+ttf2subf

Download patch

ref: eba2781ab98282714c19df4c758a140dc0cc33ad
parent: 628bebe639007244ebd7a8d17dfcb6555f04c61a
author: suzuki toshiya <[email protected]>
date: Wed Nov 30 17:40:43 EST 2011

[apinames] Fix the overflow of signed integer hash.

* src/tools/apinames.c (names_add): Change the type of `h' from
int to unsigned int, to prevent undefined behaviour in the
overflow of signed integers (overflow of unsigned int is defined
to be wrap around).  Found by clang test suggested by Sean
McBride.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2011-11-30  suzuki toshiya  <[email protected]>
+
+	[apinames] Fix the overflow of signed integer hash.
+
+	* src/tools/apinames.c (names_add): Change the type of `h' from
+	int to unsigned int, to prevent undefined behaviour in the
+	overflow of signed integers (overflow of unsigned int is defined
+	to be wrap around).  Found by clang test suggested by Sean
+	McBride.
+
 2011-11-30  Werner Lemberg  <[email protected]>
 
 	[winfonts] Remove casts.
--- a/src/tools/apinames.c
+++ b/src/tools/apinames.c
@@ -59,8 +59,9 @@
 names_add( const char*  name,
            const char*  end )
 {
-  int   nn, len, h;
-  Name  nm;
+  unsigned int  h;
+  int           nn, len;
+  Name          nm;
 
   if ( end <= name )
     return;