From: Peter Johnson Date: Wed, 26 Apr 2006 04:55:01 +0000 (-0000) Subject: * hamt.c (HAMT_insert): Avoid hash collisions by checking full string on hash X-Git-Tag: v0.5.0~14^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=871b6ff6fbfc366ba330446cd8b65ba0af3a88b3;p=yasm * hamt.c (HAMT_insert): Avoid hash collisions by checking full string on hash match. svn path=/trunk/yasm/; revision=1511 --- diff --git a/libyasm/hamt.c b/libyasm/hamt.c index 320dbf71..129bae14 100644 --- a/libyasm/hamt.c +++ b/libyasm/hamt.c @@ -209,7 +209,8 @@ HAMT_insert(HAMT *hamt, const char *str, void *data, int *replace, for (;;) { if (!(IsSubTrie(node))) { - if (node->BitMapKey == key) { + if (node->BitMapKey == key + && strcmp(((HAMTEntry *)(node->BaseValue))->str, str) == 0) { /*@-branchstate@*/ if (*replace) { deletefunc(((HAMTEntry *)(node->BaseValue))->data);