From: tip-bot for Namhyung Kim <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: acme@redhat.com, linux-kernel@vger.kernel.org, paulus@samba.org,
hpa@zytor.com, mingo@kernel.org, a.p.zijlstra@chello.nl,
namhyung.kim@lge.com, namhyung@kernel.org, fweisbec@gmail.com,
rostedt@goodmis.org, tglx@linutronix.de
Subject: [tip:perf/core] perf tools: Get rid of malloc_or_die() in trace-event-info.c
Date: Tue, 2 Apr 2013 02:23:50 -0700 [thread overview]
Message-ID: <tip-5a6fd27ad73fef0ed39a00236acbc3a17834672a@git.kernel.org> (raw)
In-Reply-To: <1363850332-25297-3-git-send-email-namhyung@kernel.org>
Commit-ID: 5a6fd27ad73fef0ed39a00236acbc3a17834672a
Gitweb: http://git.kernel.org/tip/5a6fd27ad73fef0ed39a00236acbc3a17834672a
Author: Namhyung Kim <namhyung.kim@lge.com>
AuthorDate: Thu, 21 Mar 2013 16:18:45 +0900
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 21 Mar 2013 13:12:28 -0300
perf tools: Get rid of malloc_or_die() in trace-event-info.c
Check return value of malloc and fail if NULL.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1363850332-25297-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/trace-event-info.c | 48 ++++++++++++++++++++++++--------------
1 file changed, 30 insertions(+), 18 deletions(-)
diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-event-info.c
index 81c6732..91db6e8 100644
--- a/tools/perf/util/trace-event-info.c
+++ b/tools/perf/util/trace-event-info.c
@@ -47,16 +47,6 @@ static const char *output_file = "trace.info";
static int output_fd;
-static void *malloc_or_die(unsigned int size)
-{
- void *data;
-
- data = malloc(size);
- if (!data)
- die("malloc");
- return data;
-}
-
static const char *find_debugfs(void)
{
const char *path = perf_debugfs_mount(NULL);
@@ -209,7 +199,7 @@ static bool name_in_tp_list(char *sys, struct tracepoint_path *tps)
return false;
}
-static void copy_event_system(const char *sys, struct tracepoint_path *tps)
+static int copy_event_system(const char *sys, struct tracepoint_path *tps)
{
struct dirent *dent;
struct stat st;
@@ -217,6 +207,7 @@ static void copy_event_system(const char *sys, struct tracepoint_path *tps)
DIR *dir;
int count = 0;
int ret;
+ int err;
dir = opendir(sys);
if (!dir)
@@ -228,7 +219,11 @@ static void copy_event_system(const char *sys, struct tracepoint_path *tps)
strcmp(dent->d_name, "..") == 0 ||
!name_in_tp_list(dent->d_name, tps))
continue;
- format = malloc_or_die(strlen(sys) + strlen(dent->d_name) + 10);
+ format = malloc(strlen(sys) + strlen(dent->d_name) + 10);
+ if (!format) {
+ err = -ENOMEM;
+ goto out;
+ }
sprintf(format, "%s/%s/format", sys, dent->d_name);
ret = stat(format, &st);
free(format);
@@ -246,16 +241,22 @@ static void copy_event_system(const char *sys, struct tracepoint_path *tps)
strcmp(dent->d_name, "..") == 0 ||
!name_in_tp_list(dent->d_name, tps))
continue;
- format = malloc_or_die(strlen(sys) + strlen(dent->d_name) + 10);
+ format = malloc(strlen(sys) + strlen(dent->d_name) + 10);
+ if (!format) {
+ err = -ENOMEM;
+ goto out;
+ }
sprintf(format, "%s/%s/format", sys, dent->d_name);
ret = stat(format, &st);
if (ret >= 0)
record_file(format, 8);
-
free(format);
}
+ err = 0;
+out:
closedir(dir);
+ return err;
}
static void read_ftrace_files(struct tracepoint_path *tps)
@@ -282,7 +283,7 @@ static bool system_in_tp_list(char *sys, struct tracepoint_path *tps)
return false;
}
-static void read_event_files(struct tracepoint_path *tps)
+static int read_event_files(struct tracepoint_path *tps)
{
struct dirent *dent;
struct stat st;
@@ -291,6 +292,7 @@ static void read_event_files(struct tracepoint_path *tps)
DIR *dir;
int count = 0;
int ret;
+ int err;
path = get_tracing_file("events");
if (!path)
@@ -320,7 +322,11 @@ static void read_event_files(struct tracepoint_path *tps)
strcmp(dent->d_name, "ftrace") == 0 ||
!system_in_tp_list(dent->d_name, tps))
continue;
- sys = malloc_or_die(strlen(path) + strlen(dent->d_name) + 2);
+ sys = malloc(strlen(path) + strlen(dent->d_name) + 2);
+ if (!sys) {
+ err = -ENOMEM;
+ goto out;
+ }
sprintf(sys, "%s/%s", path, dent->d_name);
ret = stat(sys, &st);
if (ret >= 0) {
@@ -329,9 +335,12 @@ static void read_event_files(struct tracepoint_path *tps)
}
free(sys);
}
-
+ err = 0;
+out:
closedir(dir);
put_tracing_file(path);
+
+ return err;
}
static void read_proc_kallsyms(void)
@@ -463,7 +472,10 @@ struct tracing_data *tracing_data_get(struct list_head *pattrs,
if (!tps)
return NULL;
- tdata = malloc_or_die(sizeof(*tdata));
+ tdata = malloc(sizeof(*tdata));
+ if (!tdata)
+ return NULL;
+
tdata->temp = temp;
tdata->size = 0;
next prev parent reply other threads:[~2013-04-02 9:24 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-21 7:18 [PATCHSET 0/9] perf util: Cleanup die() and its friends (v2) Namhyung Kim
2013-03-21 7:18 ` [PATCH 1/9] perf util: Let get_tracing_file() can return NULL Namhyung Kim
2013-04-02 9:22 ` [tip:perf/core] perf tools: Let get_tracing_file() return NULL to indicate failure tip-bot for Namhyung Kim
2013-03-21 7:18 ` [PATCH 2/9] perf util: Get rid of malloc_or_die() in trace-event-info.c Namhyung Kim
2013-04-02 9:23 ` tip-bot for Namhyung Kim [this message]
2013-03-21 7:18 ` [PATCH 3/9] perf util: Get rid of write_or_die() from trace-event-info.c Namhyung Kim
2013-04-02 9:25 ` [tip:perf/core] perf tools: " tip-bot for Namhyung Kim
2013-03-21 7:18 ` [PATCH 4/9] perf util: Get rid of die() calls " Namhyung Kim
2013-04-02 9:26 ` [tip:perf/core] perf tools: " tip-bot for Namhyung Kim
2013-03-21 7:18 ` [PATCH 5/9] perf util: Handle failure case in trace_report() Namhyung Kim
2013-04-02 9:27 ` [tip:perf/core] perf tools: " tip-bot for Namhyung Kim
2013-03-21 7:18 ` [PATCH 6/9] perf util: Get rid of malloc_or_die() in trace-event-read.c Namhyung Kim
2013-04-02 9:28 ` [tip:perf/core] perf tools: " tip-bot for Namhyung Kim
2013-03-21 7:18 ` [PATCH 7/9] perf util: Get rid of read_or_die() " Namhyung Kim
2013-04-02 9:29 ` [tip:perf/core] perf tools: " tip-bot for Namhyung Kim
2013-03-21 7:18 ` [PATCH 8/9] perf util: Get rid of die() calls in trace-data-read.c Namhyung Kim
2013-04-02 9:31 ` [tip:perf/core] perf tools: " tip-bot for Namhyung Kim
2013-03-21 7:18 ` [PATCH 9/9] perf util: Cleanup calc_data_size logic Namhyung Kim
2013-04-02 9:32 ` [tip:perf/core] perf tools: " tip-bot for Namhyung Kim
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=tip-5a6fd27ad73fef0ed39a00236acbc3a17834672a@git.kernel.org \
--to=tipbot@zytor.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung.kim@lge.com \
--cc=namhyung@kernel.org \
--cc=paulus@samba.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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.