]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
conf/ile: use lxc_safe_uint() in config_autodev()
authorChristian Brauner <christian.brauner@canonical.com>
Fri, 28 Oct 2016 18:22:35 +0000 (20:22 +0200)
committerStéphane Graber <stgraber@ubuntu.com>
Tue, 22 Nov 2016 04:57:33 +0000 (23:57 -0500)
Signed-off-by: Christian Brauner <christian.brauner@canonical.com>
src/lxc/conf.h
src/lxc/confile.c

index d6556b1634e53a9b8ab733187bc54452fc3dfae1..523d58046eb4454c843c289e78cb36b71d7f7837 100644 (file)
@@ -325,7 +325,7 @@ struct lxc_conf {
        scmp_filter_ctx seccomp_ctx;
 #endif
        int maincmd_fd;
-       int autodev;  // if 1, mount and fill a /dev at start
+       unsigned int autodev;  // if 1, mount and fill a /dev at start
        int haltsignal; // signal used to halt container
        int rebootsignal; // signal used to reboot container
        int stopsignal; // signal used to hard stop container
index 8d426cee304a9feb82d85f3c376b9f1e825856c5..2908da592dc1a30d2e77cc31027ad5da40c581fa 100644 (file)
@@ -1341,9 +1341,13 @@ static int config_loglevel(const char *key, const char *value,
 static int config_autodev(const char *key, const char *value,
                          struct lxc_conf *lxc_conf)
 {
-       int v = atoi(value);
+       if (lxc_safe_uint(value, &lxc_conf->autodev) < 0)
+               return -1;
 
-       lxc_conf->autodev = v;
+       if (lxc_conf->autodev > 1) {
+               ERROR("Wrong value for lxc.autodev. Can only be set to 0 or 1");
+               return -1;
+       }
 
        return 0;
 }