From: Christian Brauner <christianvanbrau...@gmail.com> When the clone failed we tried to destroy the container. This will lead to a segfault. Instead simply return -1. Also move the call to free_mnts() after the put label to free the user specified mounts even when we just goto put.
Signed-off-by: Christian Brauner <christianvanbrau...@gmail.com> --- src/lxc/lxc_copy.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lxc/lxc_copy.c b/src/lxc/lxc_copy.c index ac1b051..1a2d007 100644 --- a/src/lxc/lxc_copy.c +++ b/src/lxc/lxc_copy.c @@ -388,7 +388,7 @@ static int do_clone_ephemeral(struct lxc_container *c, clone = c->clone(c, my_args->newname, my_args->newpath, flags, my_args->bdevtype, NULL, my_args->fssize, args); if (!clone) - goto err; + return -1; if (!my_args->keepdata) if (!clone->set_config_item(clone, "lxc.ephemeral", "1")) @@ -439,9 +439,9 @@ static int do_clone_ephemeral(struct lxc_container *c, return 0; err: - free_mnts(mnts, num); clone->destroy(clone); put: + free_mnts(mnts, num); lxc_container_put(clone); return -1; } -- 2.6.2 _______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel