STABLE14-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


(cherry picked from commit 7832148ae0)
This commit is contained in:
Marc Dionne 2007-10-11 18:48:35 +00:00 committed by Derrick Brashear
parent c8e8dedca6
commit b14fed71a5

View File

@ -478,7 +478,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++))) {
@ -488,7 +488,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;
}