]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
conf: avoid spawning unnecessary subshells
authorJonathan Calmels <jcalmels@nvidia.com>
Mon, 11 Dec 2017 22:43:06 +0000 (14:43 -0800)
committerChristian Brauner <christian.brauner@ubuntu.com>
Sun, 17 Dec 2017 15:32:07 +0000 (16:32 +0100)
Signed-off-by: Jonathan Calmels <jcalmels@nvidia.com>
src/lxc/conf.c

index 09aa7b21c6e69b23c9fa9be1db2ee287e1c7e351..3aeed5c2d093e4a93564c8de8a2066cff7bb8b85 100644 (file)
@@ -293,10 +293,11 @@ static int run_script_argv(const char *name, const char *section,
 
        size += strlen(hook) + 1;
 
+       size += strlen("exec");
        size += strlen(script);
        size += strlen(name);
        size += strlen(section);
-       size += 3;
+       size += 4;
 
        if (size > INT_MAX)
                return -1;
@@ -308,7 +309,7 @@ static int run_script_argv(const char *name, const char *section,
        }
 
        ret =
-           snprintf(buffer, size, "%s %s %s %s", script, name, section, hook);
+           snprintf(buffer, size, "exec %s %s %s %s", script, name, section, hook);
        if (ret < 0 || (size_t)ret >= size) {
                ERROR("Script name too long.");
                return -1;
@@ -343,10 +344,11 @@ int run_script(const char *name, const char *section, const char *script, ...)
                size += strlen(p) + 1;
        va_end(ap);
 
+       size += strlen("exec");
        size += strlen(script);
        size += strlen(name);
        size += strlen(section);
-       size += 3;
+       size += 4;
 
        if (size > INT_MAX)
                return -1;
@@ -357,7 +359,7 @@ int run_script(const char *name, const char *section, const char *script, ...)
                return -1;
        }
 
-       ret = snprintf(buffer, size, "%s %s %s", script, name, section);
+       ret = snprintf(buffer, size, "exec %s %s %s", script, name, section);
        if (ret < 0 || ret >= size) {
                ERROR("Script name too long.");
                return -1;