Keep the definition of i consistent between set_lookkey() and set_insert_clean().
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 7236dd5..021b83e 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -56,11 +56,11 @@
setentry *entry;
size_t perturb = hash;
size_t mask = so->mask;
- size_t i = (size_t)hash; /* Unsigned for defined overflow behavior. */
+ size_t i = (size_t)hash & mask; /* Unsigned for defined overflow behavior */
size_t j;
int cmp;
- entry = &table[i & mask];
+ entry = &table[i];
if (entry->key == NULL)
return entry;
@@ -116,9 +116,9 @@
}
perturb >>= PERTURB_SHIFT;
- i = i * 5 + 1 + perturb;
+ i = (i * 5 + 1 + perturb) & mask;
- entry = &table[i & mask];
+ entry = &table[i];
if (entry->key == NULL)
goto found_null;
}