Subject: Re: [PATCH v2 02/27] blame: use "goto cleanup" for cleanup_scoreboard()

From: Junio C Hamano <[email-masked]>
Date: Wed, 23 Mar 2022 21:23:05 -0700

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

> Amend a freeing pattern added in 0906ac2b54b (blame: use changed-path
> Bloom filters, 2020-04-16) to use a "goto cleanup", so that we can be
> sure that we call cleanup_scoreboard().

Makes sense.

> This change is needed so that a subsequent addition of a
> release_revisions() doesn't solve this unrelated issue while it's at
> it.

Again, this is irrelevant.  This patch alone with or without
anything else is the right fix to plug the leakage of the
scoreboard.

> Signed-off-by: Ævar Arnfjörð Bjarmason <[email-masked]>
> ---
>  builtin/blame.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/builtin/blame.c b/builtin/blame.c
> index 8d15b68afc9..885b381ab83 100644
> --- a/builtin/blame.c
> +++ b/builtin/blame.c
> @@ -1167,7 +1167,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
>  	if (!incremental)
>  		setup_pager();
>  	else
> -		return 0;
> +		goto cleanup;
>  
>  	blame_sort_final(&sb);
>  
> @@ -1201,6 +1201,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
>  		printf("num commits: %d\n", sb.num_commits);
>  	}
>  
> +cleanup:
>  	cleanup_scoreboard(&sb);
>  	return 0;
>  }