Subject: Re: [PATCH 6/6] repack: stop leaking a "struct child_process"

From: Junio C Hamano <[email-masked]>
Date: Thu, 21 Oct 2021 17:22:28 -0700

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> Signed-off-by: Ævar Arnfjörð Bjarmason <[email-masked]>
> ---
>  builtin/repack.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/builtin/repack.c b/builtin/repack.c
> index 0b2d1e5d82b..50730517c7b 100644
> --- a/builtin/repack.c
> +++ b/builtin/repack.c
> @@ -258,9 +258,11 @@ static void repack_promisor_objects(const struct pack_objects_args *args,
>  	for_each_packed_object(write_oid, &cmd,
>  			       FOR_EACH_OBJECT_PROMISOR_ONLY);
>  
> -	if (cmd.in == -1)
> +	if (cmd.in == -1) {
> +		child_process_clear(&cmd);
>  		/* No packed objects; cmd was never started */
>  		return;
> +	}
>  
>  	close(cmd.in);

Not wrong per-se, but let's take the one that is part of Taylor's
"plug pack bitmap leaks" series that plugs the same leak.