From: Christian Brauner Date: Tue, 1 May 2018 15:27:51 +0000 (+0200) Subject: coverity: #1425744 X-Git-Tag: lxc-3.1.0~313^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b2655a8c5038d4519b82816f186edccb6b67e06;p=thirdparty%2Flxc.git coverity: #1425744 Dereference after null check userns_exec_{1,full} are called from functions that might not have a conf. Signed-off-by: Christian Brauner --- 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;