提交 b63fbea5 编写于 作者: P Pieter Noordhuis 提交者: antirez

Fix error in scan algorithm

The irrelevant bits shouldn't be masked to 1. This can result in slots being
skipped when the hash table is resized between calls to the iterator.
上级 7a6cfb18
......@@ -729,14 +729,6 @@ unsigned long dictScan(dict *d,
v++;
v = rev(v);
/* Only preprare cursor for the next iteration when it is non-zero,
* so that 0 can be used as end-of-scan sentinel. */
if (v) {
/* Set unmasked bits so the cursor will keep its position
* regardless of the mask in the next iterations */
v |= ~m0;
}
return v;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册