diff options
author | sundb <sundbcn@gmail.com> | 2021-08-10 21:54:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-10 16:54:19 +0300 |
commit | 5705cec68e2b93ace879cc1c8d05aca19bcfd188 (patch) | |
tree | b62236bb48c237c063a875f10c5acfd3555e6a1d /src/object.c | |
parent | 82528d26785678b7ea7aeaff4c72aee58500e8d0 (diff) | |
download | redis-5705cec68e2b93ace879cc1c8d05aca19bcfd188.tar.gz |
Fix missing dismiss hash listpack memory due to ziplist->listpack migration (#9353)
Diffstat (limited to 'src/object.c')
-rw-r--r-- | src/object.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/object.c b/src/object.c index 2e27d69f6..ef1430088 100644 --- a/src/object.c +++ b/src/object.c @@ -422,6 +422,8 @@ void dismissListObject(robj *o, size_t size_hint) { node = node->next; } } + } else { + serverPanic("Unknown list encoding type"); } } @@ -446,6 +448,8 @@ void dismissSetObject(robj *o, size_t size_hint) { dismissMemory(set->ht_table[1], DICTHT_SIZE(set->ht_size_exp[1])*sizeof(dictEntry*)); } else if (o->encoding == OBJ_ENCODING_INTSET) { dismissMemory(o->ptr, intsetBlobLen((intset*)o->ptr)); + } else { + serverPanic("Unknown set encoding type"); } } @@ -471,6 +475,8 @@ void dismissZsetObject(robj *o, size_t size_hint) { dismissMemory(d->ht_table[1], DICTHT_SIZE(d->ht_size_exp[1])*sizeof(dictEntry*)); } else if (o->encoding == OBJ_ENCODING_ZIPLIST) { dismissMemory(o->ptr, ziplistBlobLen((unsigned char*)o->ptr)); + } else { + serverPanic("Unknown zset encoding type"); } } @@ -495,8 +501,10 @@ void dismissHashObject(robj *o, size_t size_hint) { /* Dismiss hash table memory. */ dismissMemory(d->ht_table[0], DICTHT_SIZE(d->ht_size_exp[0])*sizeof(dictEntry*)); dismissMemory(d->ht_table[1], DICTHT_SIZE(d->ht_size_exp[1])*sizeof(dictEntry*)); - } else if (o->encoding == OBJ_ENCODING_ZIPLIST) { - dismissMemory(o->ptr, ziplistBlobLen((unsigned char*)o->ptr)); + } else if (o->encoding == OBJ_ENCODING_LISTPACK) { + dismissMemory(o->ptr, lpBytes((unsigned char*)o->ptr)); + } else { + serverPanic("Unknown hash encoding type"); } } |