]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
conf: avoid spawning unnecessary subshells 2022/head
authorJonathan Calmels <jcalmels@nvidia.com>
Mon, 11 Dec 2017 22:43:06 +0000 (14:43 -0800)
committerJonathan Calmels <jcalmels@nvidia.com>
Tue, 12 Dec 2017 00:52:55 +0000 (16:52 -0800)
Signed-off-by: Jonathan Calmels <jcalmels@nvidia.com>
src/lxc/conf.c

index 6a452064b74799ac32298f3ff8a0d52e6627b920..db8282aa81df1e46aa0ed2e12d640b2c99d576cc 100644 (file)
@@ -355,10 +355,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;
@@ -370,7 +371,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;
@@ -405,10 +406,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;
@@ -419,7 +421,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;