[lxc-devel] [PATCH] conf.c: always strdup rootfs.mount

Serge Hallyn serge.hallyn at ubuntu.com
Tue Jun 18 20:01:58 UTC 2013


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 at ubuntu.com>
---
 src/lxc/conf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 6a43aee..a98fbef 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -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);
-- 
1.8.1.2





More information about the lxc-devel mailing list