summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2015-02-05 10:42:09 +0100
committerantirez <antirez@gmail.com>2015-02-11 10:52:26 +0100
commit777020839a1ba68ea5bd77a5b17648f4b831caf7 (patch)
tree4cbba9f43581c83703daf79a07f49f334aa60954
parent170e41464dfff851f939fd73c1c4ec8a02507859 (diff)
downloadredis-777020839a1ba68ea5bd77a5b17648f4b831caf7.tar.gz
dict.c: prevent useless resize to same size.
Related to issue #2306.
-rw-r--r--src/dict.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/dict.c b/src/dict.c
index a1475772c..26707dd58 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -211,6 +211,9 @@ int dictExpand(dict *d, unsigned long size)
if (dictIsRehashing(d) || d->ht[0].used > size)
return DICT_ERR;
+ /* Rehashing to the same table size is not useful. */
+ if (realsize == d->ht[0].size) return DICT_ERR;
+
/* Allocate the new hash table and initialize all pointers to NULL */
n.size = realsize;
n.sizemask = realsize-1;