From: Steven Rostedt <rostedt@goodmis.org>
To: linux-trace-devel@vger.kernel.org
Cc: Namhyung Kim <namhyung@kernel.org>,
"Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com>
Subject: [PATCH 2/8] libtraceevent: Handle strdup() error in parse_option_name()
Date: Tue, 14 Jul 2020 17:19:31 -0400 [thread overview]
Message-ID: <20200714212320.046471564@goodmis.org> (raw)
In-Reply-To: 20200714211929.828530560@goodmis.org
From: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com>
Modified internal function parse_option_name() to return error and handle
that error in function callers in case strdup() fails.
Link: https://lore.kernel.org/r/CAM9d7cizjF+fbK7YzmsBDgrx__4YAOsmEq67D3sWET8FF+YdFA@mail.gmail.com
Link: https://lore.kernel.org/linux-trace-devel/20200714103027.2477584-3-tz.stoyanov@gmail.com
Suggested-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
lib/traceevent/event-plugin.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/traceevent/event-plugin.c b/lib/traceevent/event-plugin.c
index c11636cea380..b97d0c7e95bf 100644
--- a/lib/traceevent/event-plugin.c
+++ b/lib/traceevent/event-plugin.c
@@ -254,7 +254,7 @@ void tep_plugin_remove_options(struct tep_plugin_option *options)
}
}
-static void parse_option_name(char **option, char **plugin)
+static int parse_option_name(char **option, char **plugin)
{
char *p;
@@ -265,8 +265,9 @@ static void parse_option_name(char **option, char **plugin)
*p = '\0';
*option = strdup(p + 1);
if (!*option)
- return;
+ return -1;
}
+ return 0;
}
static struct tep_plugin_option *
@@ -325,7 +326,8 @@ int tep_plugin_add_option(const char *name, const char *val)
if (!option_str)
return -ENOMEM;
- parse_option_name(&option_str, &plugin);
+ if (parse_option_name(&option_str, &plugin) < 0)
+ return -ENOMEM;
/* If the option exists, update the val */
for (op = trace_plugin_options; op; op = op->next) {
--
2.26.2
next prev parent reply other threads:[~2020-07-14 21:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-14 21:19 [PATCH 0/8] trace-cmd libtraceevent: Tzvetomir's updates from Namhyung's comments Steven Rostedt
2020-07-14 21:19 ` [PATCH 1/8] libtraceevent: Document tep_load_plugins_hook() Steven Rostedt
2020-07-14 21:19 ` Steven Rostedt [this message]
2020-07-14 21:19 ` [PATCH 3/8] libtraceevent: Fix typo in tep_plugin_add_option() description Steven Rostedt
2020-07-14 21:19 ` [PATCH 4/8] libtraceevent: Improve error handling of tep_plugin_add_option() API Steven Rostedt
2020-07-14 21:19 ` [PATCH 5/8] libtraceevent: Fixed broken indentation in parse_ip4_print_args() Steven Rostedt
2020-07-14 21:19 ` [PATCH 6/8] libtraceevent: Fixed type in PRINT_FMT_STING Steven Rostedt
2020-07-14 21:19 ` [PATCH 7/8] libtraceevent: Fixed description of tep_add_plugin_path() API Steven Rostedt
2020-07-14 21:19 ` [PATCH 8/8] libtraceevent: Handle possible strdup() error in " Steven Rostedt
2020-07-14 21:30 ` [PATCH 0/8] trace-cmd libtraceevent: Tzvetomir's updates from Namhyung's comments Steven Rostedt
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=20200714212320.046471564@goodmis.org \
--to=rostedt@goodmis.org \
--cc=linux-trace-devel@vger.kernel.org \
--cc=namhyung@kernel.org \
--cc=tz.stoyanov@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.