[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 2 Feb 2022 07:49:53 -0800
From: Stephen Hemminger <stephen@...workplumber.org>
To: Andrea Claudi <aclaudi@...hat.com>
Cc: netdev@...r.kernel.org, dsahern@...il.com, markzhang@...dia.com,
leonro@...dia.com
Subject: Re: [PATCH iproute2 1/3] lib/fs: fix memory leak in get_task_name()
On Wed, 2 Feb 2022 15:38:16 +0100
Andrea Claudi <aclaudi@...hat.com> wrote:
> On Tue, Feb 01, 2022 at 10:27:12AM -0800, Stephen Hemminger wrote:
> > On Tue, 1 Feb 2022 18:39:24 +0100
> > Andrea Claudi <aclaudi@...hat.com> wrote:
> >
> > > + if (fscanf(f, "%ms\n", &comm) != 1) {
> > > + free(comm);
> > > + return NULL;
> >
> > This is still leaking the original comm.
> >
>
> Thanks Stephen, I missed the %m over there :(
>
> > Why not change it to use a local variable for the path
> > (avoid asprintf) and not reuse comm for both pathname
> > and return value.
> >
>
> Thanks for the suggestion.
>
> What about taking an extra-step and get rid of the %m too?
> We can do something similar to the get_command_name() function so that
> we don't need to use free in places where we use get_task_name().
What ever works best.
Powered by blists - more mailing lists