Messages in this thread | | | Date | Mon, 6 Jun 2011 19:32:51 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH] perf: fix missing event name init for default event |
| |
* Stephane Eranian <eranian@google.com> wrote:
> @@ -87,6 +87,13 @@ int perf_evlist__add_default(struct perf_evlist *evlist) > if (evsel == NULL) > return -ENOMEM; > > + /* use strdup() because free(evsel) assumes name is allocated */ > + evsel->name = strdup("cycles"); > + if (!evsel->name) { > + free(evsel); > + return -ENOMEM; > + } > + > perf_evlist__add(evlist, evsel); > return 0; > }
Hm, nice fix, but this function should really follow the standard exception tear-down sequence pattern we use in the kernel:
if (evsel == NULL) goto err;
...
if (!evsel->name) goto err_free;
...
return 0;
err_free: free(evsel); err: return -ENOMEM;
Thanks,
Ingo
| |