From db322c4dcbe5bf4b8a16d8444fa7f56579c72b26 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Thu, 10 Jul 2014 17:04:19 -0400 Subject: [PATCH] Fix: Unchecked strdup return values in set_option MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérémie Galarneau Signed-off-by: David Goulet --- src/bin/lttng-sessiond/main.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index 4d700d1e5..548cc4309 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -4199,6 +4199,10 @@ static int set_option(int opt, const char *arg, const char *optname) break; case 'g': tracing_group_name = strdup(arg); + if (!tracing_group_name) { + perror("strdup"); + ret = -ENOMEM; + } break; case 'h': usage(); @@ -4253,22 +4257,42 @@ static int set_option(int opt, const char *arg, const char *optname) break; case 'u': consumerd32_bin = strdup(arg); + if (!consumerd32_bin) { + perror("strdup"); + ret = -ENOMEM; + } consumerd32_bin_override = 1; break; case 'U': consumerd32_libdir = strdup(arg); + if (!consumerd32_libdir) { + perror("strdup"); + ret = -ENOMEM; + } consumerd32_libdir_override = 1; break; case 't': consumerd64_bin = strdup(arg); + if (!consumerd64_bin) { + perror("strdup"); + ret = -ENOMEM; + } consumerd64_bin_override = 1; break; case 'T': consumerd64_libdir = strdup(arg); + if (!consumerd64_libdir) { + perror("strdup"); + ret = -ENOMEM; + } consumerd64_libdir_override = 1; break; case 'p': opt_pidfile = strdup(arg); + if (!opt_pidfile) { + perror("strdup"); + ret = -ENOMEM; + } break; case 'J': /* JUL TCP port. */ { @@ -4297,6 +4321,10 @@ static int set_option(int opt, const char *arg, const char *optname) break; case 'P': /* probe modules list */ kmod_probes_list = strdup(arg); + if (!kmod_probes_list) { + perror("strdup"); + ret = -ENOMEM; + } break; case 'f': /* This is handled in set_options() thus silent break. */ -- 2.34.1