This is the mail archive of the
lvm2-cvs@sourceware.org
mailing list for the LVM2 project.
LVM2/libdm/datastruct hash.c
- From: agk at sourceware dot org
- To: lvm-devel at redhat dot com, lvm2-cvs at sourceware dot org
- Date: 3 Nov 2009 00:45:35 -0000
- Subject: LVM2/libdm/datastruct hash.c
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk@sourceware.org 2009-11-03 00:45:35
Modified files:
libdm/datastruct: hash.c
Log message:
Fix hash lookup segfault when keys compared are different lengths.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/datastruct/hash.c.diff?cvsroot=lvm2&r1=1.9&r2=1.10
--- LVM2/libdm/datastruct/hash.c 2008/11/03 18:59:59 1.9
+++ LVM2/libdm/datastruct/hash.c 2009/11/03 00:45:35 1.10
@@ -143,9 +143,13 @@
unsigned h = _hash(key, len) & (t->num_slots - 1);
struct dm_hash_node **c;
- for (c = &t->slots[h]; *c; c = &((*c)->next))
+ for (c = &t->slots[h]; *c; c = &((*c)->next)) {
+ if ((*c)->keylen != len)
+ continue;
+
if (!memcmp(key, (*c)->key, len))
break;
+ }
return c;
}