]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
tools: block using lxc-execute without config file
authorChristian Brauner <christian.brauner@ubuntu.com>
Tue, 12 Dec 2017 00:38:40 +0000 (01:38 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Tue, 12 Dec 2017 00:45:54 +0000 (01:45 +0100)
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 <fabecassis@nvidia.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/tools/lxc_execute.c

index 9af00886cd17aa6c1ae44ccb81263c75956487ec..f94393e147d17117135bc6291fcab0477f0004b7 100644 (file)
@@ -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");