All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf: probe: avoid segfault if passed with ''.
@ 2015-04-28  8:46 Wang Nan
  2015-04-29 22:23 ` Arnaldo Carvalho de Melo
  2015-05-06  4:36 ` [tip:perf/urgent] perf probe: Fix " tip-bot for Wang Nan
  0 siblings, 2 replies; 3+ messages in thread
From: Wang Nan @ 2015-04-28  8:46 UTC (permalink / raw)
  To: acme, jolsa, dsahern, paulus, a.p.zijlstra; +Cc: lizefan, linux-kernel, mingo

Since parse_perf_probe_point() deals with a user passed argument, we
should not assume it to be a valid string.

Without this patch, if pass '' to perf probe, a segfault raises:

 $ perf probe -a ''
 Segmentation fault

This patch checks argument of parse_perf_probe_point() before
string processing.

After this patch:

 $ perf probe -a ''

  usage: perf probe [<options>] 'PROBEDEF' ['PROBEDEF' ...]
     or: perf probe [<options>] --add 'PROBEDEF' [--add 'PROBEDEF' ...]
     ...

Signed-off-by: Wang Nan <wangnan0@huawei.com>
---
 tools/perf/util/probe-event.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index d8bb616..d05b77c 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -1084,6 +1084,8 @@ static int parse_perf_probe_point(char *arg, struct perf_probe_event *pev)
 	 *
 	 * TODO:Group name support
 	 */
+	if (!arg)
+		return -EINVAL;
 
 	ptr = strpbrk(arg, ";=@+%");
 	if (ptr && *ptr == '=') {	/* Event name */
-- 
1.8.3.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-05-06  4:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-28  8:46 [PATCH] perf: probe: avoid segfault if passed with '' Wang Nan
2015-04-29 22:23 ` Arnaldo Carvalho de Melo
2015-05-06  4:36 ` [tip:perf/urgent] perf probe: Fix " tip-bot for Wang Nan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.