diff options
author | charsyam <charsyam@gmail.com> | 2018-02-27 21:46:19 +0900 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2018-03-02 12:37:11 +0100 |
commit | 640fa434f5da57d55a794b5c819c355a3a804e6c (patch) | |
tree | 9e82f25de388913326d3f6d0a9bef17a22936e42 | |
parent | 83390f55e5b78a1618a81528993bdb7a0c259980 (diff) | |
download | redis-640fa434f5da57d55a794b5c819c355a3a804e6c.tar.gz |
fix-out-of-index-range-for-redis-cli-findbigkey
-rw-r--r-- | src/redis-cli.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/redis-cli.c b/src/redis-cli.c index b91d0c2fb..3b9f3721e 100644 --- a/src/redis-cli.c +++ b/src/redis-cli.c @@ -2074,7 +2074,9 @@ static void pipeMode(void) { #define TYPE_SET 2 #define TYPE_HASH 3 #define TYPE_ZSET 4 -#define TYPE_NONE 5 +#define TYPE_STREAM 5 +#define TYPE_NONE 6 +#define TYPE_MAX_KEYS TYPE_NONE static redisReply *sendScan(unsigned long long *it) { redisReply *reply = redisCommand(context, "SCAN %llu", *it); @@ -2218,10 +2220,10 @@ static void getKeySizes(redisReply *keys, int *types, } static void findBigKeys(void) { - unsigned long long biggest[5] = {0}, counts[5] = {0}, totalsize[5] = {0}; + unsigned long long biggest[TYPE_MAX_KEYS] = {0}, counts[TYPE_MAX_KEYS] = {0}, totalsize[TYPE_MAX_KEYS] = {0}; unsigned long long sampled = 0, total_keys, totlen=0, *sizes=NULL, it=0; - sds maxkeys[5] = {0}; - char *typename[] = {"string","list","set","hash","zset"}; + sds maxkeys[TYPE_MAX_KEYS] = {0}; + char *typename[] = {"string","list","set","hash","zset","stream"}; char *typeunit[] = {"bytes","items","members","fields","members"}; redisReply *reply, *keys; unsigned int arrsize=0, i; |