From: Christian Brauner Date: Tue, 12 Dec 2017 00:38:40 +0000 (+0100) Subject: tools: block using lxc-execute without config file X-Git-Tag: lxc-3.0.0.beta1~115^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19bfbf6e94158c99bb093248d782ae7814b16d16;p=thirdparty%2Flxc.git tools: block using lxc-execute without config file Moving away from internal symbols we can't do hacks like we currently do in lxc-start and call internal functions like lxc_conf_init(). This is unsafe anyway. Instead, we should simply error out if the user didn't give us a configuration file to use. lxc-start refuses to start in that case already. Relates to discussion in https://github.com/lxc/go-lxc/pull/96#discussion_r155075560 . Closes #2023. Reported-by: Felix Abecassis Signed-off-by: Christian Brauner --- diff --git a/src/lxc/tools/lxc_execute.c b/src/lxc/tools/lxc_execute.c index 9af00886c..f94393e14 100644 --- a/src/lxc/tools/lxc_execute.c +++ b/src/lxc/tools/lxc_execute.c @@ -163,6 +163,12 @@ int main(int argc, char *argv[]) } } + if (!c->lxc_conf) { + fprintf(stderr, "Executing a container with no configuration file may crash the host\n"); + lxc_container_put(c); + exit(EXIT_FAILURE); + } + if (my_args.argc == 0) { if (!set_argv(c->lxc_conf, &my_args)) { fprintf(stderr, "missing command to execute!\n");