Re: [PATCH 09/11] tools lib traceevent: Add alias field to struct format_field

From: Steven Rostedt
Date: Tue Feb 24 2015 - 17:55:10 EST


On Fri, Feb 20, 2015 at 11:17:06PM +0100, Jiri Olsa wrote:
> ---
> tools/lib/traceevent/event-parse.c | 1 +
> tools/lib/traceevent/event-parse.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
> index afe20ed9fac8..b35664cc1edc 100644
> --- a/tools/lib/traceevent/event-parse.c
> +++ b/tools/lib/traceevent/event-parse.c
> @@ -6236,6 +6236,7 @@ static void free_format_fields(struct format_field *field)
> next = field->next;
> free(field->type);
> free(field->name);
> + free(field->alias);

Hmm, didn't we say that if there's no need for the alias that the alias will
simply be a pointer to name? If that's the case we need:

if (field->alias != field->name)
free(field->alias);
free(field->name);

Otherwise it will be a double free.

-- Steve

> free(field);
> field = next;
> }
> diff --git a/tools/lib/traceevent/event-parse.h b/tools/lib/traceevent/event-parse.h
> index 5b4efc062320..8490a4afffa2 100644
> --- a/tools/lib/traceevent/event-parse.h
> +++ b/tools/lib/traceevent/event-parse.h
> @@ -187,6 +187,7 @@ struct format_field {
> struct event_format *event;
> char *type;
> char *name;
> + char *alias;
> int offset;
> int size;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/