Messages in this thread | | | Date | Fri, 25 Oct 2019 14:01:54 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH] perf c2c: Fix memory leak in c2c_he_zalloc() |
| |
On Fri, Oct 25, 2019 at 05:42:47PM +0800, Yunfeng Ye wrote: > A memory leak in c2c_he_zalloc() is found by visual inspection. > > Fix this by adding memory free on the error paths in c2c_he_zalloc(). > > Fixes: 7f834c2e84bb ("perf c2c report: Display node for cacheline address") > Fixes: 1e181b92a2da ("perf c2c report: Add 'node' sort key") > Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
thanks, jirka
> --- > tools/perf/builtin-c2c.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c > index e69f44941aad..ad7d38a9dcbe 100644 > --- a/tools/perf/builtin-c2c.c > +++ b/tools/perf/builtin-c2c.c > @@ -138,21 +138,29 @@ static void *c2c_he_zalloc(size_t size) > > c2c_he->cpuset = bitmap_alloc(c2c.cpus_cnt); > if (!c2c_he->cpuset) > - return NULL; > + goto free_c2c_he; > > c2c_he->nodeset = bitmap_alloc(c2c.nodes_cnt); > if (!c2c_he->nodeset) > - return NULL; > + goto free_cpuset; > > c2c_he->node_stats = zalloc(c2c.nodes_cnt * sizeof(*c2c_he->node_stats)); > if (!c2c_he->node_stats) > - return NULL; > + goto free_nodeset; > > init_stats(&c2c_he->cstats.lcl_hitm); > init_stats(&c2c_he->cstats.rmt_hitm); > init_stats(&c2c_he->cstats.load); > > return &c2c_he->he; > + > +free_nodeset: > + free(c2c_he->nodeset); > +free_cpuset: > + free(c2c_he->cpuset); > +free_c2c_he: > + free(c2c_he); > + return NULL; > } > > static void c2c_he_free(void *he) > -- > 2.7.4 >
| |