1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-29 15:22:30 +03:00

Fix hash function to avoid using a negative array offset.

This commit is contained in:
Alasdair Kergon 2006-01-09 20:35:24 +00:00
parent 079ac15ece
commit b6b0c621f6
2 changed files with 3 additions and 2 deletions
WHATS_NEW_DM
libdm/datastruct

View File

@ -1,5 +1,6 @@
Version 1.02.03 -
============================
Fix hash function to avoid using a negative array offset.
Don't inline _find in hash.c and tidy signed/unsigned etc.
Fix libdevmapper.h #endif.
Fix dmsetup version driver version.

View File

@ -68,14 +68,14 @@ static struct dm_hash_node *_create_node(const char *str, unsigned len)
return n;
}
static unsigned long _hash(const char *str, unsigned len)
static unsigned long _hash(const unsigned char *str, unsigned len)
{
unsigned long h = 0, g;
unsigned i;
for (i = 0; i < len; i++) {
h <<= 4;
h += _nums[(int) *str++];
h += _nums[*str++];
g = h & ((unsigned long) 0xf << 16u);
if (g) {
h ^= g >> 16u;