perf hists: hist_entry__cmp() may use he_tmp.hists, initialize it
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Aug 2015 18:45:55 +0000 (15:45 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Aug 2015 20:01:00 +0000 (17:01 -0300)
The iter_add_next_cumulative_entry() function calls hist_entry__cmp(),
which may want to access the hists where this hist_entry is stored,
initialize it to let that happen and avoid segfaults.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-iqg98sfn4fvwcxp0pdvqauie@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/hist.c

index a6e9ddd37913088c7a427d8c97a55c59e5de3813..2fe6ea39e2578173aec808df636e0c7d188ae667 100644 (file)
@@ -761,6 +761,7 @@ iter_add_next_cumulative_entry(struct hist_entry_iter *iter,
        struct hist_entry **he_cache = iter->priv;
        struct hist_entry *he;
        struct hist_entry he_tmp = {
+               .hists = evsel__hists(evsel),
                .cpu = al->cpu,
                .thread = al->thread,
                .comm = thread__comm(al->thread),