All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Ahern <dsahern@gmail.com>
To: Adrian Hunter <adrian.hunter@intel.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
	linux-kernel@vger.kernel.org,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Jiri Olsa <jolsa@redhat.com>, Mike Galbraith <efault@gmx.de>,
	Namhyung Kim <namhyung@gmail.com>,
	Paul Mackerras <paulus@samba.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH V3 06/15] perf tools: fix parse_events_terms() freeing local variable on error path
Date: Fri, 28 Jun 2013 11:19:05 -0600	[thread overview]
Message-ID: <51CDC589.8070306@gmail.com> (raw)
In-Reply-To: <1372409006-8431-7-git-send-email-adrian.hunter@intel.com>

On 6/28/13 2:43 AM, Adrian Hunter wrote:
> The list_head is on the stack, so just free the rest of the list.
>
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
> ---
>   tools/perf/util/parse-events.c | 7 ++++++-
>   tools/perf/util/parse-events.h | 1 +
>   tools/perf/util/pmu.c          | 2 +-
>   3 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
> index 995fc25..d9cb055 100644
> --- a/tools/perf/util/parse-events.c
> +++ b/tools/perf/util/parse-events.c
> @@ -1231,12 +1231,17 @@ int parse_events_term__clone(struct parse_events_term **new,
>   			term->val.str, term->val.num);
>   }
>
> -void parse_events__free_terms(struct list_head *terms)
> +void parse_events__free_terms_only(struct list_head *terms)
>   {
>   	struct parse_events_term *term, *h;
>
>   	list_for_each_entry_safe(term, h, terms, list)
>   		free(term);
> +}
> +
> +void parse_events__free_terms(struct list_head *terms)
> +{
> +	parse_events__free_terms_only(terms);
>
>   	free(terms);
>   }

I still don't understand the reasoning for an _only function. There is 
only 1 place that mallocs the list_head and that 1 user should free its 
own memory. All of the other users pass a stack variable.

David

  parent reply	other threads:[~2013-06-28 17:19 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-28  8:43 [PATCH V3 00/15] perf tools: some fixes and tweaks Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 01/15] perf tools: remove unused parameter Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 02/15] perf tools: fix missing tool parameter Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 03/15] perf tools: fix missing 'finished_round' Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 04/15] perf tools: fix parse_events_terms() segfault on error path Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 05/15] perf tools: fix new_term() missing free " Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 06/15] perf tools: fix parse_events_terms() freeing local variable " Adrian Hunter
2013-06-28  9:56   ` Jiri Olsa
2013-06-28 17:19   ` David Ahern [this message]
2013-07-01  8:01     ` Adrian Hunter
2013-07-01 18:46       ` David Ahern
2013-07-02  6:26         ` Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 07/15] perf tools: add const specifier to perf_pmu__find name parameter Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 08/15] perf tools: tidy duplicated munmap code Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 09/15] perf tools: validate perf event header size Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 10/15] perf tools: add debug prints Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 11/15] perf tools: fix symbol_conf.nr_events Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 12/15] perf tools: allow non-matching sample types Adrian Hunter
2013-06-28  8:43 ` [PATCH V3 13/15] perf tools: struct thread has a tid not a pid Adrian Hunter
2013-06-28 17:24   ` David Ahern
2013-06-28  8:43 ` [PATCH V3 14/15] perf tools: add pid to struct thread Adrian Hunter
2013-06-28 17:27   ` David Ahern
2013-06-28  8:43 ` [PATCH V3 15/15] perf tools: change "machine" functions to set thread pid Adrian Hunter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51CDC589.8070306@gmail.com \
    --to=dsahern@gmail.com \
    --cc=acme@ghostprotocols.net \
    --cc=adrian.hunter@intel.com \
    --cc=efault@gmx.de \
    --cc=eranian@google.com \
    --cc=fweisbec@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@gmail.com \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.