From: Pablo Sabater Date: Fri, 24 Jul 2026 10:54:12 +0000 (+0200) Subject: transport-helper: fix memory leak of helper on disconnect X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=840eb9a1c54f76b1e16b249eb3f4240c3622daf3;p=thirdparty%2Fgit.git transport-helper: fix memory leak of helper on disconnect disconnect_helper() only frees data inside of the if(data->helper) block [1]. When the transport is disconnected without the helper being fully started, data->name allocated in transport_helper_init() is never freed. Move FREE_AND_NULL(data->name) outside the conditional block so it's always freed on disconnect. [1]: https://lore.kernel.org/git/05fbadbae2184479c87c37675dde7bd79b3e32ab.1716465556.git.ps@pks.im/ Mentored-by: Karthik Nayak Mentored-by: Chandra Pratap Signed-off-by: Pablo Sabater Signed-off-by: Junio C Hamano --- diff --git a/transport-helper.c b/transport-helper.c index 80f90eb7ba..f195070788 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -266,9 +266,9 @@ static int disconnect_helper(struct transport *transport) close(data->helper->out); fclose(data->out); res = finish_command(data->helper); - FREE_AND_NULL(data->name); FREE_AND_NULL(data->helper); } + FREE_AND_NULL(data->name); return res; }