Thread (1 message) 1 message, 1 author, 2026-01-04

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help