Re: [PATCH 2/9] test-tool path-utils: fix a memory leak
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jul 1, 2022, 09:24 UTC
- Message-ID
- <220701.86k08xb2w4.gmgdl@evledraar.gmail.com>
- In-Reply-To
- <CAPig+cT5jETAi5extz2tHwSzp4a=b7qqaK0S=mcjQr1m_1jAQQ@mail.gmail.com>
On Fri, Jul 01 2022, Eric Sunshine wrote:
Show 25 quoted lines
> On Thu, Jun 30, 2022 at 7:51 PM Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
>> 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>
>> ---
>> diff --git a/t/helper/test-path-utils.c b/t/helper/test-path-utils.c
>> @@ -294,11 +294,13 @@ static int protect_ntfs_hfs_benchmark(int argc, const char **argv)
>> int cmd__path_utils(int argc, const char **argv)
>> {
>> if (argc == 3 && !strcmp(argv[1], "normalize_path_copy")) {
>> - char *buf = xmallocz(strlen(argv[2]));
>> + char *to_free = NULL;
>> + char *buf = to_free = xmallocz(strlen(argv[2]));
>
> Is there a non-obvious reason that `to_free` is initialized to NULL
> before being immediately overwritten with the result of xmallocz()?
>
> Also, pure nit, but it may be a bit more idiomatic (though I could be
> wrong) written as:
>
> char *buf, *to_free;
> buf = to_free = xmallocz(...);Thanks, I'll change it to be like that. I wouldn't put "= NULL" there normally, that part snuck in from some earlier version, and escaped my own pre-review.