Browse Source

test-tool path-utils: fix a memory leak

Fix a memory leak in "test-tool path-utils", as a result we can mark
the corresponding test as passing with SANITIZE=leak using
"TEST_PASSES_SANITIZE_LEAK=true".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Ævar Arnfjörð Bjarmason 3 years ago committed by Junio C Hamano
parent
commit
e287a5b0a4
  1. 11
      t/helper/test-path-utils.c
  2. 1
      t/t0060-path-utils.sh

11
t/helper/test-path-utils.c

@ -296,9 +296,8 @@ int cmd__path_utils(int argc, const char **argv) @@ -296,9 +296,8 @@ int cmd__path_utils(int argc, const char **argv)
if (argc == 3 && !strcmp(argv[1], "normalize_path_copy")) {
char *buf = xmallocz(strlen(argv[2]));
int rv = normalize_path_copy(buf, argv[2]);
if (rv)
buf = "++failed++";
puts(buf);
puts(rv ? "++failed++" : buf);
free(buf);
return 0;
}

@ -356,7 +355,10 @@ int cmd__path_utils(int argc, const char **argv) @@ -356,7 +355,10 @@ int cmd__path_utils(int argc, const char **argv)
int nongit_ok;
setup_git_directory_gently(&nongit_ok);
while (argc > 3) {
puts(prefix_path(prefix, prefix_len, argv[3]));
char *pfx = prefix_path(prefix, prefix_len, argv[3]);

puts(pfx);
free(pfx);
argc--;
argv++;
}
@ -366,6 +368,7 @@ int cmd__path_utils(int argc, const char **argv) @@ -366,6 +368,7 @@ int cmd__path_utils(int argc, const char **argv)
if (argc == 4 && !strcmp(argv[1], "strip_path_suffix")) {
char *prefix = strip_path_suffix(argv[2], argv[3]);
printf("%s\n", prefix ? prefix : "(null)");
free(prefix);
return 0;
}


1
t/t0060-path-utils.sh

@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@

test_description='Test various path utilities'

TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh

norm_path() {

Loading…
Cancel
Save