Fix hllSparseAdd() new sequence replacement when next is NULL.

sdsIncrLen() must be called anyway even if we are replacing the last
oppcode of the sparse representation.
This commit is contained in:
antirez 2014-04-12 23:55:29 +02:00
parent b964380817
commit e7e6aa49d0

View File

@ -784,10 +784,8 @@ int hllSparseAdd(robj *o, unsigned char *ele, size_t elesize) {
int deltalen = seqlen-oldlen;
if (deltalen > 0 && sdslen(o->ptr) > HLL_SPARSE_MAX) goto promote;
if (deltalen && next) {
memmove(next+deltalen,next,next-sparse);
sdsIncrLen(o->ptr,deltalen);
}
if (deltalen && next) memmove(next+deltalen,next,next-sparse);
sdsIncrLen(o->ptr,deltalen);
memcpy(p,seq,seqlen);
updated: