Commit 0c2f75c6 authored by antirez's avatar antirez
Browse files

volatile-lru maxmemory policy segfault fixed, thanks to Anthony Lauzon for...

volatile-lru maxmemory policy segfault fixed, thanks to Anthony Lauzon for reporting the problem with the patch. Original patch modified a bit in order to avoid the double lookup if the policy is allkeys-lru
parent 11fd0c42
...@@ -1372,6 +1372,10 @@ void freeMemoryIfNeeded(void) { ...@@ -1372,6 +1372,10 @@ void freeMemoryIfNeeded(void) {
de = dictGetRandomKey(dict); de = dictGetRandomKey(dict);
thiskey = dictGetEntryKey(de); thiskey = dictGetEntryKey(de);
/* When policy is volatile-lru we need an additonal lookup
* to locate the real key, as dict is set to db->expires. */
if (server.maxmemory_policy == REDIS_MAXMEMORY_VOLATILE_LRU)
de = dictFind(db->dict, thiskey);
o = dictGetEntryVal(de); o = dictGetEntryVal(de);
thisval = estimateObjectIdleTime(o); thisval = estimateObjectIdleTime(o);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment