perf callchain: Fix appending a callchain from a previous sample
authorAdrian Hunter <adrian.hunter@intel.com>
Mon, 14 Jul 2014 10:02:35 +0000 (13:02 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 16 Jul 2014 20:57:35 +0000 (17:57 -0300)
hist_entry__append_callchain() must check if the sample has a callcahin
or it will append the callchain from a previous sample.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1405332185-4050-12-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/callchain.c

index 48b6d3f500123162df296ff63514351c4aa1b991..437ee09727e6053bc4eb6169008f04c02b8a654f 100644 (file)
@@ -626,7 +626,7 @@ int sample__resolve_callchain(struct perf_sample *sample, struct symbol **parent
 
 int hist_entry__append_callchain(struct hist_entry *he, struct perf_sample *sample)
 {
-       if (!symbol_conf.use_callchain)
+       if (!symbol_conf.use_callchain || sample->callchain == NULL)
                return 0;
        return callchain_append(he->callchain, &callchain_cursor, sample->period);
 }