Em Tue, Sep 15, 2020 at 12:18:10PM +0900, Namhyung Kim escreveu: > The metric_event_delete() missed to free expr->metric_events and it > should free an expr when metric_refs allocation failed.
Thanks, applied. - Arnaldo > Cc: Kajol Jain <kj...@linux.ibm.com> > Cc: John Garry <john.ga...@huawei.com> > Cc: Ian Rogers <irog...@google.com> > Acked-by: Jiri Olsa <jo...@redhat.com> > Fixes: 4ea2896715e67 ("perf metric: Collect referenced metrics in struct > metric_expr") > Signed-off-by: Namhyung Kim <namhy...@kernel.org> > --- > tools/perf/util/metricgroup.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c > index 90d14c63babb..53747df601fa 100644 > --- a/tools/perf/util/metricgroup.c > +++ b/tools/perf/util/metricgroup.c > @@ -84,6 +84,7 @@ static void metric_event_delete(struct rblist *rblist > __maybe_unused, > > list_for_each_entry_safe(expr, tmp, &me->head, nd) { > free(expr->metric_refs); > + free(expr->metric_events); > free(expr); > } > > @@ -315,6 +316,7 @@ static int metricgroup__setup_events(struct list_head > *groups, > if (!metric_refs) { > ret = -ENOMEM; > free(metric_events); > + free(expr); > break; > } > > -- > 2.28.0.618.gf4bc123cb7-goog > -- - Arnaldo