diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 8df1d5f27fe47aa253fcb56789f044ca2c2d4834..53062438e49fe795abb6e142b0ebc210fd2a78b5 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -590,6 +590,9 @@ const char *perf_evsel__name(struct perf_evsel *evsel) { char bf[128]; + if (!evsel) + goto out_unknown; + if (evsel->name) return evsel->name; @@ -626,7 +629,10 @@ const char *perf_evsel__name(struct perf_evsel *evsel) evsel->name = strdup(bf); - return evsel->name ?: "unknown"; + if (evsel->name) + return evsel->name; +out_unknown: + return "unknown"; } const char *perf_evsel__group_name(struct perf_evsel *evsel)