diff options
| author | Xiaotian <523950475@qq.com> | 2020-09-28 07:26:25 +0000 |
|---|---|---|
| committer | Mate Szalay-Beko <symat@apache.org> | 2020-09-28 07:26:25 +0000 |
| commit | 38f8e1bff2502d57dd4541ddd5d7e8b4ac10bc02 (patch) | |
| tree | 65dcbe43177dc90412cc2c1f53c6d0b2b5907a30 /zookeeper-client | |
| parent | 56dfde5da4e441b139e85930291729d6b77a18ac (diff) | |
| download | zookeeper-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.c | 1 |
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 */ |
