]> git.saurik.com Git - redis.git/commitdiff
Fixed a SORT memory leak that should never happen in practice
authorantirez <antirez@gmail.com>
Sat, 21 Nov 2009 12:46:34 +0000 (13:46 +0100)
committerantirez <antirez@gmail.com>
Sat, 21 Nov 2009 12:46:34 +0000 (13:46 +0100)
redis.c

diff --git a/redis.c b/redis.c
index bbb461179042a08de02b6723da28331b580dc175..14861c341de2bf9f82a9610230e2047a58209dbb 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -4598,7 +4598,10 @@ static robj *lookupKeyByPattern(redisDb *db, robj *pattern, robj *subst) {
     ssub = subst->ptr;
     if (sdslen(spat)+sdslen(ssub)-1 > REDIS_SORTKEY_MAX) return NULL;
     p = strchr(spat,'*');
-    if (!p) return NULL;
+    if (!p) {
+        decrRefCount(subst);
+        return NULL;
+    }
 
     prefixlen = p-spat;
     sublen = sdslen(ssub);