From: Jonathan Calmels Date: Mon, 11 Dec 2017 22:43:06 +0000 (-0800) Subject: conf: avoid spawning unnecessary subshells X-Git-Tag: lxc-3.0.0.beta1~116^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F2022%2Fhead;p=thirdparty%2Flxc.git conf: avoid spawning unnecessary subshells Signed-off-by: Jonathan Calmels --- diff --git a/src/lxc/conf.c b/src/lxc/conf.c index 6a452064b..db8282aa8 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -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;