Re: [PATCH 01/11] check-ref-format: fix trivial memory leak
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 31 quoted lines
> diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c
> index bc67d3f0a83..fd0e5f86832 100644
> --- a/builtin/check-ref-format.c
> +++ b/builtin/check-ref-format.c
> @@ -57,6 +57,8 @@ int cmd_check_ref_format(int argc, const char **argv, const char *prefix)
> int normalize = 0;
> int flags = 0;
> const char *refname;
> + char *to_free = NULL;
> + int ret = 1;
>
> if (argc == 2 && !strcmp(argv[1], "-h"))
> usage(builtin_check_ref_format_usage);
> @@ -81,11 +83,14 @@ int cmd_check_ref_format(int argc, const char **argv, const char *prefix)
>
> refname = argv[i];
> if (normalize)
> - refname = collapse_slashes(refname);
> + refname = to_free = collapse_slashes(refname);
> if (check_refname_format(refname, flags))
> - return 1;
> + goto cleanup;
> if (normalize)
> printf("%s\n", refname);
>
> - return 0;
> + ret = 0;
> +cleanup:
> + free(to_free);
> + return ret;
> }Show 12 quoted lines
> diff --git a/t/t1402-check-ref-format.sh b/t/t1402-check-ref-format.sh
> index cabc516ae9a..5ed9d7318e0 100755
> --- a/t/t1402-check-ref-format.sh
> +++ b/t/t1402-check-ref-format.sh
> @@ -2,6 +2,7 @@
>
> test_description='Test git check-ref-format'
>
> +TEST_PASSES_SANITIZE_LEAK=true
> . ./test-lib.sh
>
> valid_ref() {