[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bace0fb9-2ac4-f402-ca2e-8e2a7de50560@kernel.org>
Date: Mon, 7 Mar 2022 15:38:29 -0700
From: David Ahern <dsahern@...nel.org>
To: Andrea Claudi <aclaudi@...hat.com>
Cc: netdev@...r.kernel.org, stephen@...workplumber.org,
markzhang@...dia.com, leonro@...dia.com
Subject: Re: [PATCH iproute2 v2 1/2] lib/fs: fix memory leak in
get_task_name()
On 3/7/22 11:21 AM, Andrea Claudi wrote:
> On Mon, Mar 07, 2022 at 10:58:37AM -0700, David Ahern wrote:
>> On 3/2/22 5:28 AM, Andrea Claudi wrote:
>>> diff --git a/include/utils.h b/include/utils.h
>>> index b6c468e9..81294488 100644
>>> --- a/include/utils.h
>>> +++ b/include/utils.h
>>> @@ -307,7 +307,7 @@ char *find_cgroup2_mount(bool do_mount);
>>> __u64 get_cgroup2_id(const char *path);
>>> char *get_cgroup2_path(__u64 id, bool full);
>>> int get_command_name(const char *pid, char *comm, size_t len);
>>> -char *get_task_name(pid_t pid);
>>> +int get_task_name(pid_t pid, char *name);
>>>
>>
>> changing to an API with an assumed length is not better than the current
>> situation. Why not just fixup the callers as needed to free the allocation?
>>
>
> I actually did that on v1. After Stephen's comment about asprintf(), I
> got the idea to make get_task_name() similar to get_command_name() and
> a bit more "user-friendly", so that callers do not need a free().
>
get_command_name passes a buffer and length. That's a better API - no
assumptions.
Powered by blists - more mailing lists