summaryrefslogtreecommitdiff
path: root/zookeeper-client
diff options
context:
space:
mode:
authorXiaotian <523950475@qq.com>2020-09-28 07:26:25 +0000
committerMate Szalay-Beko <symat@apache.org>2020-09-28 07:26:25 +0000
commit38f8e1bff2502d57dd4541ddd5d7e8b4ac10bc02 (patch)
tree65dcbe43177dc90412cc2c1f53c6d0b2b5907a30 /zookeeper-client
parent56dfde5da4e441b139e85930291729d6b77a18ac (diff)
downloadzookeeper-38f8e1bff2502d57dd4541ddd5d7e8b4ac10bc02.tar.gz
ZOOKEEPER-3944: Fix sasl memory leak
Within ```zoo_sasl_client_destroy```, it carefully free all members of the sasl client, while here it doesn't free the struct itself before set it to NULL. This error is detected by leak sanitizer. Author: Xiaotian <523950475@qq.com> Reviewers: Damien Diederen <dd@crosstwine.com>, Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1466 from xiaotian-qi/ZOOKEEPER-3944
Diffstat (limited to 'zookeeper-client')
-rw-r--r--zookeeper-client/zookeeper-client-c/src/zookeeper.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/zookeeper-client/zookeeper-client-c/src/zookeeper.c b/zookeeper-client/zookeeper-client-c/src/zookeeper.c
index ec42e787a..1728c0ed7 100644
--- a/zookeeper-client/zookeeper-client-c/src/zookeeper.c
+++ b/zookeeper-client/zookeeper-client-c/src/zookeeper.c
@@ -694,6 +694,7 @@ static void destroy(zhandle_t *zh)
#ifdef HAVE_CYRUS_SASL_H
if (zh->sasl_client) {
zoo_sasl_client_destroy(zh->sasl_client);
+ free(zh->sasl_client);
zh->sasl_client = NULL;
}
#endif /* HAVE_CYRUS_SASL_H */