From: Junio C Hamano <gitster@xxxxxxxxx> As there is no date_mode_release() API function, and given the set of current callers it probably is not worth adding one, let's release the .strftime_fmt member that is obtained from strdup() before the caller of show_date() is done with it. This allows us to mark t0006 as passing under the leak sanitizer. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- A trivial leak test from Junio that fell between the cracks. Submitted with my suggested fix-up in https://lore.kernel.org/git/211104.86mtmki5ol.gmgdl@xxxxxxxxxxxxxxxxxxx/ t/helper/test-date.c | 4 +++- t/t0006-date.sh | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/t/helper/test-date.c b/t/helper/test-date.c index 099eff4f0fc..27a36a5c5fe 100644 --- a/t/helper/test-date.c +++ b/t/helper/test-date.c @@ -34,7 +34,7 @@ static void show_human_dates(const char **argv) static void show_dates(const char **argv, const char *format) { - struct date_mode mode; + struct date_mode mode = { 0 }; parse_date_format(format, &mode); for (; *argv; argv++) { @@ -53,6 +53,8 @@ static void show_dates(const char **argv, const char *format) printf("%s -> %s\n", *argv, show_date(t, tz, &mode)); } + + free((void *)mode.strftime_fmt); } static void parse_dates(const char **argv) diff --git a/t/t0006-date.sh b/t/t0006-date.sh index 6b757d71692..5d01f57b270 100755 --- a/t/t0006-date.sh +++ b/t/t0006-date.sh @@ -1,6 +1,8 @@ #!/bin/sh test_description='test date parsing and printing' + +TEST_PASSES_SANITIZE_LEAK=true . ./test-lib.sh # arbitrary reference time: 2009-08-30 19:20:00 -- 2.34.0.795.g1e9501ab396