summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2014-04-12 10:59:12 +0200
committerantirez <antirez@gmail.com>2014-04-16 15:26:27 +0200
commitc1ddead7791d30f858ee514e7c1dd04e42b6b69b (patch)
tree025d281b1ef09cbc21d9297207c2f40cf4ebac27
parent0a7ba6faefb887fb2c648803940a2b41214e6317 (diff)
downloadredis-c1ddead7791d30f858ee514e7c1dd04e42b6b69b.tar.gz
Fix HLL sparse object creation.
The function didn't considered the fact that each XZERO opcode is two bytes.
-rw-r--r--src/hyperloglog.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/hyperloglog.c b/src/hyperloglog.c
index 22d73ce44..5157cd8ef 100644
--- a/src/hyperloglog.c
+++ b/src/hyperloglog.c
@@ -913,8 +913,8 @@ robj *createHLLObject(void) {
sds s;
uint8_t *p;
int sparselen = HLL_HDR_SIZE +
- ((HLL_REGISTERS+(HLL_SPARSE_XZERO_MAX_LEN-1)) /
- HLL_SPARSE_XZERO_MAX_LEN);
+ (((HLL_REGISTERS+(HLL_SPARSE_XZERO_MAX_LEN-1)) /
+ HLL_SPARSE_XZERO_MAX_LEN)*2);
int aux;
/* Populate the sparse representation with as many XZERO opcodes as