[lxc-devel] [PATCH 3/5] arguments: check allocation succeeds
Michael Santos
michael.santos at gmail.com
Sat Mar 19 15:10:34 UTC 2011
Signed-off-by: Michael Santos <michael.santos at gmail.com>
---
src/lxc/arguments.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/lxc/arguments.c b/src/lxc/arguments.c
index 3c11661..51ebadb 100644
--- a/src/lxc/arguments.c
+++ b/src/lxc/arguments.c
@@ -96,6 +96,9 @@ static void print_usage(const struct option longopts[],
int j;
char *uppername = strdup(opt->name);
+ if (!uppername)
+ exit(-ENOMEM);
+
for (j = 0; uppername[j]; j++)
uppername[j] = toupper(uppername[j]);
@@ -217,15 +220,22 @@ extern char **lxc_arguments_dup(const char *file, struct lxc_arguments *args)
nbargs = 0;
- argv[nbargs++] = strdup(file);
+ argv[nbargs] = strdup(file);
+ if (!argv[nbargs])
+ return NULL;
+ nbargs++;
if (args->quiet)
argv[nbargs++] = "--quiet";
argv[nbargs++] = "--";
- for (opt = 0; opt < args->argc; opt++)
- argv[nbargs++] = strdup(args->argv[opt]);
+ for (opt = 0; opt < args->argc; opt++) {
+ argv[nbargs] = strdup(args->argv[opt]);
+ if (!argv[nbargs])
+ return NULL;
+ nbargs++;
+ }
argv[nbargs] = NULL;
--
1.7.0.4
More information about the lxc-devel
mailing list