]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
conf.c: always strdup rootfs.mount
authorSerge Hallyn <serge.hallyn@ubuntu.com>
Tue, 18 Jun 2013 19:52:24 +0000 (14:52 -0500)
committerSerge Hallyn <serge.hallyn@ubuntu.com>
Tue, 18 Jun 2013 19:52:24 +0000 (14:52 -0500)
The reason is that the generic code which handles reading
lxc.rootfs.mount always frees the old value if not NULL.
So without this setting lxc.rootfs.mount = /mnt causes
segfault.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
src/lxc/conf.c

index 6a43aee739cf9c3234bff3a8c661688c582b70cc..a98fbefb61fecf34362567a17906e06d73dc6bb5 100644 (file)
@@ -2134,7 +2134,7 @@ struct lxc_conf *lxc_conf_init(void)
        new->console.slave = -1;
        new->console.name[0] = '\0';
        new->maincmd_fd = -1;
-       new->rootfs.mount = default_rootfs_mount;
+       new->rootfs.mount = strdup(default_rootfs_mount);
        new->kmsg = 1;
        lxc_list_init(&new->cgroup);
        lxc_list_init(&new->network);
@@ -3152,7 +3152,7 @@ void lxc_conf_free(struct lxc_conf *conf)
                return;
        if (conf->console.path)
                free(conf->console.path);
-       if (conf->rootfs.mount != default_rootfs_mount)
+       if (conf->rootfs.mount)
                free(conf->rootfs.mount);
        if (conf->rootfs.path)
                free(conf->rootfs.path);