android_kernel_samsung_univ.../tools/perf/ui
Wang Nan 4938cf0c7a perf hists browser: Fix segfault if use symbol filter in cmdline
If feed perf a symbol filter in cmdline and the result is empty,
pressing 'Enter' in the hist browser causes crash:

 # ./perf report perf.data   <-- Common mistake for beginners

Then press 'Enter':

 perf: Segmentation fault
 -------- backtrace --------
 /home/wangnan/perf[0x53e578]
 /lib64/libc.so.6(+0x3545f)[0x7f76bafe045f]
 /home/wangnan/perf[0x539dd4]
 /home/wangnan/perf(perf_evlist__tui_browse_hists+0x96)[0x53d216]
 /home/wangnan/perf(cmd_report+0x1b9f)[0x442c7f]
 /home/wangnan/perf[0x47efa2]
 /home/wangnan/perf(main+0x5f5)[0x432fa5]
 /lib64/libc.so.6(__libc_start_main+0xf4)[0x7f76bafccbd4]
 /home/wangnan/perf[0x4330d4]

This is because 'perf.data' is interpreted as a symbol filter, and the
result is empty, so selection is empty. However,
hist_browser__toggle_fold() forgets to check it.

This patch simply return false when selection is NULL.

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1449455746-41952-2-git-send-email-wangnan0@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-12-07 12:02:35 -03:00
..
browsers perf hists browser: Fix segfault if use symbol filter in cmdline 2015-12-07 12:02:35 -03:00
gtk perf build: Add gtk objects building 2015-02-12 11:49:12 -03:00
stdio perf callchain: Use a common function to resolve symbol or name 2014-11-19 12:33:47 -03:00
tui perf ui tui: Register the error callbacks before initializing the widgets 2015-10-22 16:44:17 -03:00
browser.c perf ui browser: Optional horizontal scrolling key binding 2015-10-05 17:59:49 -03:00
browser.h perf ui browser: Optional horizontal scrolling key binding 2015-10-05 17:59:49 -03:00
Build perf build: Add slang objects building 2015-02-12 11:48:13 -03:00
helpline.c
helpline.h
hist.c perf tools: Use hpp_dimension__add_output to register hpp columns 2015-10-06 18:04:59 -03:00
keysyms.h
libslang.h perf ui browser: Introduce ui_browser__printf() 2015-08-12 10:27:05 -03:00
progress.c
progress.h perf tools: Remove EOL whitespaces 2015-01-21 13:24:31 -03:00
setup.c perf tools: Call perf_hpp__init() before setting up GUI browsers 2014-05-21 11:45:35 +02:00
ui.h
util.c
util.h