diff --git a/src/lxc/conf.c b/src/lxc/conf.c index 253331160..e854b8b03 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -4117,6 +4117,9 @@ int userns_exec_1(struct lxc_conf *conf, int (*fn)(void *), void *data, int ret = -1, status = -1; char c = '1'; + if (!conf) + return -EINVAL; + idmap = get_minimal_idmap(conf); if (!idmap) return -1; @@ -4200,6 +4203,9 @@ int userns_exec_full(struct lxc_conf *conf, int (*fn)(void *), void *data, struct id_map *container_root_uid = NULL, *container_root_gid = NULL, *host_uid_map = NULL, *host_gid_map = NULL; + if (!conf) + return -EINVAL; + ret = pipe(p); if (ret < 0) { SYSERROR("opening pipe"); diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index 30efeaff8..b396a6d5a 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -2955,6 +2955,7 @@ static bool do_lxcapi_destroy(struct lxc_container *c) { if (!c || !lxcapi_is_defined(c)) return false; + if (has_snapshots(c)) { ERROR("Container %s has snapshots; not removing", c->name); return false;