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 <christianvanbrauner@gmail.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
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"))
return 0;
err:
- free_mnts(mnts, num);
clone->destroy(clone);
put:
+ free_mnts(mnts, num);
lxc_container_put(clone);
return -1;
}