diff options
author | Adrian Hunter <adrian.hunter@intel.com> | 2015-05-19 09:05:44 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-05-27 11:21:43 -0400 |
commit | a6ced2be06c302402c52dedba97d169d22cce99c (patch) | |
tree | e03776dd304df329ea7f376028e7a44bf38f6796 /tools/perf/util/parse-events.c | |
parent | bb78ce7d0598fb277290f8ee2443b8f4e0eb7cb2 (diff) |
perf tools: Fix parse_events_error dereferences
Parse errors can be reported in struct parse_events_error but the
pointer passed is optional and can be NULL. Ensure it is not NULL
before dereferencing it.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Link: http://lkml.kernel.org/r/1432040746-1755-4-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/parse-events.c')
-rw-r--r-- | tools/perf/util/parse-events.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 78032d887c1a..2a4d1ec02846 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c | |||
@@ -1659,6 +1659,8 @@ void parse_events_evlist_error(struct parse_events_evlist *data, | |||
1659 | { | 1659 | { |
1660 | struct parse_events_error *err = data->error; | 1660 | struct parse_events_error *err = data->error; |
1661 | 1661 | ||
1662 | if (!err) | ||
1663 | return; | ||
1662 | err->idx = idx; | 1664 | err->idx = idx; |
1663 | err->str = strdup(str); | 1665 | err->str = strdup(str); |
1664 | WARN_ONCE(!err->str, "WARNING: failed to allocate error string"); | 1666 | WARN_ONCE(!err->str, "WARNING: failed to allocate error string"); |