From 121adc604b4cee16fd5af15456bbb7665f37ce71 Mon Sep 17 00:00:00 2001 From: Artix Date: Wed, 6 Jun 2018 20:14:58 +0200 Subject: [PATCH] Cluster Manager: fix memory leaks in clusterManagerGetDisconnectedLinks --- src/redis-cli.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/redis-cli.c b/src/redis-cli.c index 9e246dce7..71c8c6b30 100644 --- a/src/redis-cli.c +++ b/src/redis-cli.c @@ -3889,7 +3889,7 @@ static list *clusterManagerGetDisconnectedLinks(clusterManagerNode *node) { (strstr(link_status, "disconnected"))); int handshaking = (strstr(flags, "handshake") != NULL); if (disconnected || handshaking) { - clusterManagerLink *link = malloc(sizeof(*link)); + clusterManagerLink *link = zmalloc(sizeof(*link)); link->node_name = sdsnew(nodename); link->node_addr = sdsnew(addr); link->connected = 0; @@ -3908,6 +3908,7 @@ cleanup: static dict *clusterManagerGetLinkStatus(void) { if (cluster_manager.nodes == NULL) return NULL; dictType dtype = clusterManagerDictType; + dtype.keyDestructor = dictSdsDestructor; dtype.valDestructor = dictListDestructor; dict *status = dictCreate(&dtype, NULL); listIter li;