Messages in this thread | | | Date | Fri, 17 Jun 2022 17:47:20 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH 1/2] libtraceevent: fix memleak in make_bprint_args() |
| |
On Fri, 13 May 2022 10:33:07 +0800 Wang ShaoBo <bobo.shaobowang@huawei.com> wrote:
> Release arg allocated from alloc_arg() when strdup failed in make_bprint_args(). > > Fixes: a6d2a61ac653 ("tools lib traceevent: Remove some die() calls") > Signed-off-by: Wang ShaoBo <bobo.shaobowang@huawei.com> > --- > tools/lib/traceevent/event-parse.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c > index 8e24c4c78c7f..69e4d5229362 100644 > --- a/tools/lib/traceevent/event-parse.c > +++ b/tools/lib/traceevent/event-parse.c > @@ -4507,8 +4507,10 @@ static struct tep_print_arg *make_bprint_args(char *fmt, void *data, int size, s > arg->next = NULL; > arg->type = TEP_PRINT_BSTRING; > arg->string.string = strdup(bptr); > - if (!arg->string.string) > + if (!arg->string.string) { > + free(arg); > goto out_free;
This is a fix, thank you. But libtraceevent now lives here:
https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/
I'll port this patch to that.
Thanks,
-- Steve
> + } > bptr += strlen(bptr) + 1; > *next = arg; > next = &arg->next;
| |