[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150324151449.GC5447@kernel.org>
Date: Tue, 24 Mar 2015 12:14:49 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...nel.org>,
Jiri Olsa <jolsa@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH 2/9] tools lib traceevent: Copy trace_clock and free it
Em Tue, Mar 24, 2015 at 09:57:50AM -0400, Steven Rostedt escreveu:
> From: "Steven Rostedt (Red Hat)" <rostedt@...dmis.org>
>
> The pevent->trace_clock should not be a direct pointer to what
> was given. It should be copied and freed.
>
> Note, valgrind pointed this out when a caller passed in a pointer
> that needed to be freed and it never was. Ideally, pevent should
> copy it (which this change does), and free the copy. It's up
> to the caller to free the clock string passed in.
> +++ b/tools/lib/traceevent/event-parse.c
> @@ -321,9 +321,14 @@ int pevent_register_comm(struct pevent *pevent, const char *comm, int pid)
> return 0;
> }
>
> -void pevent_register_trace_clock(struct pevent *pevent, char *trace_clock)
> +int pevent_register_trace_clock(struct pevent *pevent, const char *trace_clock)
> {
> - pevent->trace_clock = trace_clock;
> + pevent->trace_clock = strdup(trace_clock);
> + if (!pevent->trace_clock) {
> + errno = ENOMEM;
> + return -1;
Humm, strdup actually sets errno already, from its man page:
-------------------
RETURN VALUE
On success, the strdup() function returns a pointer to the
duplicated string. It returns NULL if insufficient memory was
available, with errno set to indicate the cause of the error.
-------------------
Applying anyway, as this doesn't introduces a problem, right?
- ARnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists