Quoting Christian Brauner (christian.brau...@mailbox.org):
> 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>

Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.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

Reply via email to