From 7832148ae0e8c9f17a2ac2eb879c7b2fdf69403e Mon Sep 17 00:00:00 2001 From: Marc Dionne Date: Thu, 11 Oct 2007 18:44:53 +0000 Subject: [PATCH] gcc42-integer-overflow-fix-20071007 fix issue where gcc 4.2 compiled kernel modules were breaking on linux ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== with fix from Hans-Werner Pulsen ==================== with fix from Hans-Werner Pulsen --- src/dir/dir.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dir/dir.c b/src/dir/dir.c index d608639..c32f149 100644 --- a/src/dir/dir.c +++ b/src/dir/dir.c @@ -477,7 +477,7 @@ DirHash(register char *string) { /* Hash a string to a number between 0 and NHASHENT. */ register unsigned char tc; - register int hval; + unsigned int hval; register int tval; hval = 0; while ((tc = (*string++))) { @@ -487,7 +487,7 @@ DirHash(register char *string) tval = hval & (NHASHENT - 1); if (tval == 0) return tval; - else if (hval < 0) + else if (hval >= 1<<31) tval = NHASHENT - tval; return tval; } -- 1.9.4