From: René Scharfe Date: Tue, 28 Oct 2014 20:27:54 +0000 (+0100) Subject: receive-pack: avoid minor leak in case start_async() fails X-Git-Tag: v2.2.0-rc0~2^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5d222c099e38bcf329af544ec42ad3dd0644741c;p=thirdparty%2Fgit.git receive-pack: avoid minor leak in case start_async() fails If the asynchronous start of copy_to_sideband() fails, then any env_array entries added to struct child_process proc by prepare_push_cert_sha1() are leaked. Call the latter function only after start_async() succeeded so that the allocated entries are cleaned up automatically by start_command() or finish_command(). Signed-off-by: Rene Scharfe Signed-off-by: Junio C Hamano --- diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 42f25a5103..99136526c9 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -521,8 +521,6 @@ static int run_and_feed_hook(const char *hook_name, feed_fn feed, void *feed_sta proc.in = -1; proc.stdout_to_stderr = 1; - prepare_push_cert_sha1(&proc); - if (use_sideband) { memset(&muxer, 0, sizeof(muxer)); muxer.proc = copy_to_sideband; @@ -533,6 +531,8 @@ static int run_and_feed_hook(const char *hook_name, feed_fn feed, void *feed_sta proc.err = muxer.in; } + prepare_push_cert_sha1(&proc); + code = start_command(&proc); if (code) { if (use_sideband)