From: Daniel Barkalow Date: Wed, 18 Nov 2009 01:42:21 +0000 (+0100) Subject: Fix memory leak in helper method for disconnect X-Git-Tag: v1.7.0-rc0~62^2~26 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f2a37151d4624906e34a9bcafb2ad79d0e8cb7ec;p=git.git Fix memory leak in helper method for disconnect Since some cases may need to disconnect from the helper and reconnect, wrap the function that just disconnects in a function that also frees transport->data. Signed-off-by: Daniel Barkalow Signed-off-by: Junio C Hamano --- diff --git a/transport-helper.c b/transport-helper.c index f57e84c67..e24fcbb17 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -67,6 +67,13 @@ static int disconnect_helper(struct transport *transport) return 0; } +static int release_helper(struct transport *transport) +{ + disconnect_helper(transport); + free(transport->data); + return 0; +} + static int fetch_with_fetch(struct transport *transport, int nr_heads, const struct ref **to_fetch) { @@ -163,6 +170,6 @@ int transport_helper_init(struct transport *transport, const char *name) transport->data = data; transport->get_refs_list = get_refs_list; transport->fetch = fetch; - transport->disconnect = disconnect_helper; + transport->disconnect = release_helper; return 0; }