From 150ba0e1ff0a24d2136f893ede550d19e78a96a0 Mon Sep 17 00:00:00 2001 From: ShooterIT Date: Tue, 5 May 2020 23:09:45 +0800 Subject: [PATCH] Redis Benchmark: Fix coredump because of double free --- src/redis-benchmark.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/redis-benchmark.c b/src/redis-benchmark.c index 2df41580b..8e32d4f3c 100644 --- a/src/redis-benchmark.c +++ b/src/redis-benchmark.c @@ -275,7 +275,7 @@ static redisConfig *getRedisConfig(const char *ip, int port, for (; i < 2; i++) { int res = redisGetReply(c, &r); if (reply) freeReplyObject(reply); - reply = ((redisReply *) r); + reply = res == REDIS_OK ? ((redisReply *) r) : NULL; if (res != REDIS_OK || !r) goto fail; if (reply->type == REDIS_REPLY_ERROR) { fprintf(stderr, "ERROR: %s\n", reply->str);