Messages in this thread | | | Date | Wed, 13 Nov 2019 14:46:26 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH] tools lib traceevent: Fix memory leakage in copy_filter_type |
| |
On Fri, 25 Oct 2019 04:23:12 -0400 Hewenliang <hewenliang4@huawei.com> wrote:
> It is necessary to free the memory that we have allocated > when error occurs. > > Fixes: ef3072cd1d5c ("tools lib traceevent: Get rid of die in add_filter_type()") > Signed-off-by: Hewenliang <hewenliang4@huawei.com>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Arnaldo,
Can you take this?
-- Steve
> --- > tools/lib/traceevent/parse-filter.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c > index 552592d153fb..fbaa790d10d8 100644 > --- a/tools/lib/traceevent/parse-filter.c > +++ b/tools/lib/traceevent/parse-filter.c > @@ -1473,8 +1473,10 @@ static int copy_filter_type(struct tep_event_filter *filter, > if (strcmp(str, "TRUE") == 0 || strcmp(str, "FALSE") == 0) { > /* Add trivial event */ > arg = allocate_arg(); > - if (arg == NULL) > + if (arg == NULL) { > + free(str); > return -1; > + } > > arg->type = TEP_FILTER_ARG_BOOLEAN; > if (strcmp(str, "TRUE") == 0) > @@ -1483,8 +1485,11 @@ static int copy_filter_type(struct tep_event_filter *filter, > arg->boolean.value = 0; > > filter_type = add_filter_type(filter, event->id); > - if (filter_type == NULL) > + if (filter_type == NULL) { > + free(str); > + free(arg); > return -1; > + } > > filter_type->filter = arg; >
| |