Re: [PATCH v2] fsmonitor: fix khash memory leak in do_handle_client
From: Junio C Hamano <hidden>
Date: 2026-01-04 02:19:21
Paul Tarjan [off-list ref] writes:
On Thu, Jan 1, 2026 at 1:14 PM Junio C Hamano [off-list ref] wrote:quoted
"Paul Tarjan via GitGitGadget" [off-list ref] writes:quoted
From: Paul Tarjan <redacted> The do_handle_client() function allocates a khash table to de-duplicate pathnames when responding to client requests. However, kh_release_str() was used instead of kh_destroy_str(). The release function only frees internal arrays (flags, keys, vals) but not the struct itself, which is allocated by kh_init_str() via xcalloc. This caused a 40-byte leak per client request. Fix by using kh_destroy_str() which properly frees both internal arrays and the struct itself. Also move the cleanup to the cleanup section and initialize shown to NULL so that kh_destroy_str() is safe to call on all exit paths. Signed-off-by: Paul Tarjan <redacted> ---This is already in v4 of the other larger fsmonitor-linux patch, right?Correct. I sent it separately since it is currently a bug in existing code and you might want to merge it sooner.
Thanks.