perf: Fix various display bugs with parent filtering
authorFrederic Weisbecker <fweisbec@gmail.com>
Fri, 16 Jul 2010 02:02:14 +0000 (04:02 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Fri, 16 Jul 2010 02:56:09 +0000 (04:56 +0200)
commit58c3439083f8fde61de842c93d1407f0f881cd92
tree64b86b36dcd3c249eefa555d1d47c8fc03c634ce
parent44a54f787c0abcf75a2ed49b8ec8b2b512468f73
perf: Fix various display bugs with parent filtering

Hists that have been filtered, because they don't have callchains
matching the parent filter, won't be printed. As such,
hist_entry__snprintf() returns 0 for them, but we don't control
this value and we always print the buffer, which might be
untouched and then only made of random stack garbage.

Not only does it paint the screen with barf, it also prints
the callchains for these hists, even though they have been filtered,
since the hist has been filtered as well.

We need to check the return value of hist_entry__snprintf() and
ignore the hist if it is 0, which means it didn't get any callchain
matching the parent filter. This fixes the barf and the undesired
callchains.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
tools/perf/util/hist.c