perf evlist: Fix fix for freed id arrays
authorAndi Kleen <ak@linux.intel.com>
Fri, 11 Oct 2019 18:21:40 +0000 (11:21 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 15 Oct 2019 14:51:33 +0000 (11:51 -0300)
In the earlier fix for the memory overrun of id arrays I managed to typo
the wrong event in the fix.

Of course we need to close the current event in the loop, not the
original failing event.

The same test case as in the original patch still passes.

Fixes: 7834fa948beb ("perf evlist: Fix access of freed id arrays")
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Link: http://lore.kernel.org/lkml/20191011182140.8353-2-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evlist.c

index d277a98e62df8f769dbf88e45b6b635b085050e6..de79c735e4411b182ce9da0d4d8baee120eaed15 100644 (file)
@@ -1659,7 +1659,7 @@ struct evsel *perf_evlist__reset_weak_group(struct evlist *evsel_list,
                        is_open = false;
                if (c2->leader == leader) {
                        if (is_open)
-                               perf_evsel__close(&evsel->core);
+                               perf_evsel__close(&c2->core);
                        c2->leader = c2;
                        c2->core.nr_members = 0;
                }