Messages in this thread Patch in this message | | | Date | Tue, 24 Feb 2015 17:54:58 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH 09/11] tools lib traceevent: Add alias field to struct format_field |
| |
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;
| |