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:
parent
c66e5e83a8
commit
2b4f24e746
@ -784,10 +784,8 @@ int hllSparseAdd(robj *o, unsigned char *ele, size_t elesize) {
|
|||||||
int deltalen = seqlen-oldlen;
|
int deltalen = seqlen-oldlen;
|
||||||
|
|
||||||
if (deltalen > 0 && sdslen(o->ptr) > HLL_SPARSE_MAX) goto promote;
|
if (deltalen > 0 && sdslen(o->ptr) > HLL_SPARSE_MAX) goto promote;
|
||||||
if (deltalen && next) {
|
if (deltalen && next) memmove(next+deltalen,next,next-sparse);
|
||||||
memmove(next+deltalen,next,next-sparse);
|
|
||||||
sdsIncrLen(o->ptr,deltalen);
|
sdsIncrLen(o->ptr,deltalen);
|
||||||
}
|
|
||||||
memcpy(p,seq,seqlen);
|
memcpy(p,seq,seqlen);
|
||||||
|
|
||||||
updated:
|
updated:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user