Re: [PATCH] perf tools: Fix potential memory leak in perf events parser

From: Markus Elfring
Date: Thu Jun 11 2020 - 09:18:43 EST


> Fix potential memory leak in function parse_events_term__sym_hw()
> and parse_events_term__clone().

Would you like to add the tag âFixesâ to the commit message?


â
> +++ b/tools/perf/util/parse-events.c
â
> @@ -2957,9 +2958,20 @@ int parse_events_term__sym_hw(struct parse_events_term **term,
> sym = &event_symbols_hw[idx];
>
> str = strdup(sym->symbol);
> - if (!str)
> + if (!str) {
> + if (!config)
> + free(temp.config);
> return -ENOMEM;
> - return new_term(term, &temp, str, 0);
> + }
> +
> + ret = new_term(term, &temp, str, 0);
> + if (ret < 0) {
> + free(str);
> + if (!config)
> + free(temp.config);
> + }
> +
> + return ret;
> }
â

How do you think about to add jump targets for a bit of
common exception handling code in these function implementations?

Regards,
Markus