git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 22, 2021, 00:22 UTC
Message-ID
<xmqqa6j1gb7f.fsf@gitster.g>
In-Reply-To
<patch-6.6-526d5649156-20211021T155529Z-avarab@gmail.com>
Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
Show 21 quoted lines
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>  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.

Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 13 of 20 in “leaks: miscellaneous small leak fixes”
  1. 0/6 leaks: miscellaneous small leak fixesÆvar Arnfjörð Bjarmason, Oct 21, 2021
  2. 1/6 grep: prefer "struct grep_opt" over its "void *"Ævar Arnfjörð Bjarmason, Oct 21, 2021
  3. Junio C HamanoOct 21, 2021
  4. 2/6 grep: use object_array_clear() in cmd_grep()Ævar Arnfjörð Bjarmason, Oct 21, 2021
  5. Junio C HamanoOct 21, 2021
  6. Junio C HamanoOct 21, 2021
  7. 3/6 clone: fix a memory leak of the "git_dir" variableÆvar Arnfjörð Bjarmason, Oct 21, 2021
  8. Junio C HamanoOct 22, 2021
  9. 4/6 submodule--helper: fix small memory leaksÆvar Arnfjörð Bjarmason, Oct 21, 2021
  10. 5/6 reflog: free() ref given to us by dwim_log()Ævar Arnfjörð Bjarmason, Oct 21, 2021
  11. Junio C HamanoOct 22, 2021
  12. 6/6 repack: stop leaking a "struct child_process"Ævar Arnfjörð Bjarmason, Oct 21, 2021
  13. Junio C HamanoOct 22, 2021
  14. 0/6 leaks: miscellaneous small leak fixesÆvar Arnfjörð Bjarmason, Oct 22, 2021
  15. 1/6 grep: prefer "struct grep_opt" over its "void *" equivalentÆvar Arnfjörð Bjarmason, Oct 22, 2021
  16. 2/6 grep: use object_array_clear() in cmd_grep()Ævar Arnfjörð Bjarmason, Oct 22, 2021
  17. 3/6 grep: fix a "path_list" memory leakÆvar Arnfjörð Bjarmason, Oct 22, 2021
  18. 4/6 clone: fix a memory leak of the "git_dir" variableÆvar Arnfjörð Bjarmason, Oct 22, 2021
  19. 5/6 submodule--helper: fix small memory leaksÆvar Arnfjörð Bjarmason, Oct 22, 2021
  20. 6/6 reflog: free() ref given to us by dwim_log()Ævar Arnfjörð Bjarmason, Oct 22, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.