Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > 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; > } Nice. > 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() {