arguments: check allocation succeeds

Signed-off-by: Michael Santos <michael.santos@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
Michael Santos 2011-03-19 11:10:34 -04:00 committed by Daniel Lezcano
parent dae3fdf6b6
commit 6d10f1fcdc

View File

@ -96,6 +96,9 @@ static void print_usage(const struct option longopts[],
int j; int j;
char *uppername = strdup(opt->name); char *uppername = strdup(opt->name);
if (!uppername)
exit(-ENOMEM);
for (j = 0; uppername[j]; j++) for (j = 0; uppername[j]; j++)
uppername[j] = toupper(uppername[j]); uppername[j] = toupper(uppername[j]);
@ -217,15 +220,22 @@ extern char **lxc_arguments_dup(const char *file, struct lxc_arguments *args)
nbargs = 0; nbargs = 0;
argv[nbargs++] = strdup(file); argv[nbargs] = strdup(file);
if (!argv[nbargs])
return NULL;
nbargs++;
if (args->quiet) if (args->quiet)
argv[nbargs++] = "--quiet"; argv[nbargs++] = "--quiet";
argv[nbargs++] = "--"; argv[nbargs++] = "--";
for (opt = 0; opt < args->argc; opt++) for (opt = 0; opt < args->argc; opt++) {
argv[nbargs++] = strdup(args->argv[opt]); argv[nbargs] = strdup(args->argv[opt]);
if (!argv[nbargs])
return NULL;
nbargs++;
}
argv[nbargs] = NULL; argv[nbargs] = NULL;