Re: [PATCH v2 2/9] test-tool path-utils: fix a memory leak
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 1, 2022, 20:43 UTC
- Message-ID
- <xmqq5ykg8syr.fsf@gitster.g>
- In-Reply-To
- <patch-v2-2.9-050766e6fa2-20220701T103503Z-avarab@gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 23 quoted lines
> 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>
> ---
> t/helper/test-path-utils.c | 11 +++++++----
> t/t0060-path-utils.sh | 1 +
> 2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/t/helper/test-path-utils.c b/t/helper/test-path-utils.c
> index 229ed416b0e..d20e1b7a18d 100644
> --- a/t/helper/test-path-utils.c
> +++ b/t/helper/test-path-utils.c
> @@ -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);This version, without the need for to_free, is certainly very easy to understand. Nicely done.