[
https://issues.apache.org/jira/browse/ZOOKEEPER-3944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17201756#comment-17201756
]
Damien Diederen commented on ZOOKEEPER-3944:
--------------------------------------------
Hi [~xiaotian_qi],
Argh; nice catch. The {{destroy}} "method" carefully unwinds the fields, but
is indeed missing a {{free}} of the structure itself.
(I would have put the {{free}} at the end of the {{destroy}} method (a bit like
how a C++ {{delete}} works), but the patch generally looks fine to me.)
Best,
Damien Diederen
> zookeeper c api sasl client memory leak
> ---------------------------------------
>
> Key: ZOOKEEPER-3944
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3944
> Project: ZooKeeper
> Issue Type: Bug
> Components: c client
> Affects Versions: 3.6.2
> Reporter: Xiaotian Qi
> Priority: Major
> Attachments: 0001-ZOOKEEPER-3944-Fix-sasl-memory-leak.patch
>
>
> I find this memory leak through sanitizer.
> [Here|https://github.com/apache/zookeeper/blob/master/zookeeper-client/zookeeper-client-c/src/zookeeper.c#L664-L665]
> within zookeeper_close() it destroy the client and reset it to NULL. This
> client is created using calloc()
> In zoo_sasl_client_destroy(), the client is not freed, neither within
> zookeeper_close().
> I would suggest add a free() before setting it to NULL in zookeeper_close
--
This message was sent by Atlassian Jira
(v8.3.4#803005)