]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxccontainer: split_init_cmd()
authorChristian Brauner <christian.brauner@ubuntu.com>
Sat, 24 Feb 2018 14:24:29 +0000 (15:24 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Sat, 24 Feb 2018 20:38:32 +0000 (21:38 +0100)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/lxccontainer.c

index fb5f5d05ca0b699d0f3454a4db2a4bd73150ac3c..b7b87972e3a30879040b85a9af7446ed35dcf0a0 100644 (file)
@@ -727,9 +727,10 @@ static void push_arg(char ***argp, char *arg, int *nargs)
 static char **split_init_cmd(const char *incmd)
 {
        size_t len;
-       int nargs = 0;
-       char *copy, *p, *saveptr = NULL;
+       char *copy, *p;
        char **argv;
+       int nargs = 0;
+       char *saveptr = NULL;
 
        if (!incmd)
                return NULL;
@@ -737,20 +738,21 @@ static char **split_init_cmd(const char *incmd)
        len = strlen(incmd) + 1;
        copy = alloca(len);
        strncpy(copy, incmd, len);
-       copy[len-1] = '\0';
+       copy[len - 1] = '\0';
 
        do {
                argv = malloc(sizeof(char *));
        } while (!argv);
+
        argv[0] = NULL;
-       for (p = strtok_r(copy, " ", &saveptr); p != NULL;
-                       p = strtok_r(NULL, " ", &saveptr))
+       for (; (p = strtok_r(copy, " ", &saveptr)); copy = NULL)
                push_arg(&argv, p, &nargs);
 
        if (nargs == 0) {
                free(argv);
                return NULL;
        }
+
        return argv;
 }