Properly free encoded sorted set

This commit is contained in:
Pieter Noordhuis 2011-03-08 23:56:59 +01:00
parent 4a14dbbac2
commit 0f23eb3b10

View File

@ -138,11 +138,20 @@ void freeSetObject(robj *o) {
} }
void freeZsetObject(robj *o) { void freeZsetObject(robj *o) {
zset *zs = o->ptr; zset *zs;
switch (o->encoding) {
dictRelease(zs->dict); case REDIS_ENCODING_RAW:
zslFree(zs->zsl); zs = o->ptr;
zfree(zs); dictRelease(zs->dict);
zslFree(zs->zsl);
zfree(zs);
break;
case REDIS_ENCODING_ZIPLIST:
zfree(o->ptr);
break;
default:
redisPanic("Unknown sorted set encoding");
}
} }
void freeHashObject(robj *o) { void freeHashObject(robj *o) {