From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
Taeung Song <treeze.taeung@gmail.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 09/24] perf config: Constructor should free its allocated memory when failing
Date: Tue, 7 Jun 2016 17:04:47 -0300 [thread overview]
Message-ID: <1465329902-11069-10-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1465329902-11069-1-git-send-email-acme@kernel.org>
From: Taeung Song <treeze.taeung@gmail.com>
Because of die() at perf_parse_file() a config set was freed in
collect_config(), if failed. But it is natural to free a config set
after collect_config() is done when some problems happened.
So, in case of failure, lastly free a config set at perf_config_set__new()
instead of freeing the config set in collect_config().
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1465291577-20973-2-git-send-email-treeze.taeung@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/config.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c
index c73f1c4d1ca9..e086f593a2aa 100644
--- a/tools/perf/util/config.c
+++ b/tools/perf/util/config.c
@@ -643,7 +643,6 @@ static int collect_config(const char *var, const char *value,
out_free:
free(key);
- perf_config_set__delete(set);
return -1;
}
@@ -653,7 +652,10 @@ struct perf_config_set *perf_config_set__new(void)
if (set) {
INIT_LIST_HEAD(&set->sections);
- perf_config(collect_config, set);
+ if (perf_config(collect_config, set) < 0) {
+ perf_config_set__delete(set);
+ set = NULL;
+ }
}
return set;
--
2.5.5
next prev parent reply other threads:[~2016-06-07 20:05 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-07 20:04 [GIT PULL 00/24] perf/core improvements and fixes Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 01/24] tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_private() Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 02/24] tools lib bpf: Rename bpf_map__get_name() to bpf_map__name() Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 03/24] tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_def() Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 04/24] tools lib bpf: Rename bpf_map__get_fd() to bpf_map__fd() Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 05/24] tools lib bpf: Remove _get_ from non-refcount method names Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 06/24] tools lib bpf: Make bpf_program__get_private() use IS_ERR() Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 07/24] tools lib bpf: Rename set_private() to set_priv() Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 08/24] perf tools: Fix crash in build_id_cache__kallsyms_path() Arnaldo Carvalho de Melo
2016-06-07 20:04 ` Arnaldo Carvalho de Melo [this message]
2016-06-07 20:04 ` [PATCH 10/24] perf config: Use new perf_config_set__init() to initialize config set Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 11/24] perf unwind: Use LIBUNWIND_DIR for remote libunwind feature check Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 12/24] perf unwind: Decouple thread->address_space on libunwind Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 13/24] perf unwind: Introduce 'struct unwind_libunwind_ops' for local unwind Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 14/24] perf unwind: Move unwind__prepare_access from thread_new into thread__insert_map Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 15/24] perf unwind: Don't mix LIBUNWIND_LIBS into LIBUNWIND_LDFLAGS Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 16/24] perf unwind: Separate local/remote libunwind config Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 17/24] perf unwind: Rename unwind-libunwind.c to unwind-libunwind-local.c Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 18/24] perf tools: Extract common API out of unwind-libunwind-local.c Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 19/24] perf tools: Export normalize_arch() function Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 20/24] perf unwind: Check the target platform before assigning unwind methods Arnaldo Carvalho de Melo
2016-06-07 20:04 ` [PATCH 21/24] perf unwind: Change fixed name of libunwind__arch_reg_id to macro Arnaldo Carvalho de Melo
2016-06-07 20:05 ` [PATCH 22/24] perf unwind: Introduce flag to separate local/remote unwind compilation Arnaldo Carvalho de Melo
2016-06-07 20:05 ` [PATCH 23/24] perf callchain: Support x86 target platform Arnaldo Carvalho de Melo
2016-06-07 20:05 ` [PATCH 24/24] perf callchain: Support aarch64 cross-platform Arnaldo Carvalho de Melo
2016-06-07 23:10 ` [GIT PULL 00/24] perf/core improvements and fixes Taeung Song
2016-06-08 13:09 ` Arnaldo Carvalho de Melo
2016-06-08 7:43 ` Ingo Molnar
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=1465329902-11069-10-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=treeze.taeung@gmail.com \
/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.