summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuy Benoish <guy.benoish@redislabs.com>2018-03-07 10:40:37 +0700
committerantirez <antirez@gmail.com>2019-03-14 11:45:28 +0100
commit643110525e1388dca36097d0be6d48a5021e59e1 (patch)
tree6350a39a9a533e9088fd50327f46f7ba97f15f81
parentb0e863195e4e1870eb4f3480fa8b15c6aff2a956 (diff)
downloadredis-643110525e1388dca36097d0be6d48a5021e59e1.tar.gz
Fix zlexrangespec mem-leak in genericZrangebylexCommand
-rw-r--r--src/t_zset.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/t_zset.c b/src/t_zset.c
index 50652244b..df32e5d13 100644
--- a/src/t_zset.c
+++ b/src/t_zset.c
@@ -2854,7 +2854,10 @@ void genericZrangebylexCommand(client *c, int reverse) {
while (remaining) {
if (remaining >= 3 && !strcasecmp(c->argv[pos]->ptr,"limit")) {
if ((getLongFromObjectOrReply(c, c->argv[pos+1], &offset, NULL) != C_OK) ||
- (getLongFromObjectOrReply(c, c->argv[pos+2], &limit, NULL) != C_OK)) return;
+ (getLongFromObjectOrReply(c, c->argv[pos+2], &limit, NULL) != C_OK)) {
+ zslFreeLexRange(&range);
+ return;
+ }
pos += 3; remaining -= 3;
} else {
zslFreeLexRange(&range);