X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=tools%2Fperf%2Futil%2Fevsel.c;h=747c5070a43e36450c1fb131ec3eafd29d588aa0;hb=8eb3d65a5ddc6b3afaa3466e0665c4c0cd6578b1;hp=0ec76a4af77a73aceccc09331b30815d51d6f223;hpb=b826c97998ef8d98843e9207214a869f4ca3e448;p=sagit-ice-cold%2Fkernel_xiaomi_msm8998.git diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 0ec76a4af77a..747c5070a43e 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -491,6 +491,9 @@ const char *perf_evsel__name(struct perf_evsel *evsel) { char bf[128]; + if (!evsel) + goto out_unknown; + if (evsel->name) return evsel->name; @@ -527,7 +530,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) @@ -1051,6 +1057,7 @@ void perf_evsel__exit(struct perf_evsel *evsel) { assert(list_empty(&evsel->node)); assert(evsel->evlist == NULL); + perf_evsel__free_counts(evsel); perf_evsel__free_fd(evsel); perf_evsel__free_id(evsel); perf_evsel__free_config_terms(evsel);