From: Serge Hallyn Date: Mon, 11 Aug 2014 14:10:04 +0000 (+0000) Subject: coverity: don't use newname after null check X-Git-Tag: lxc-1.0.6~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd0c964703cb345dd3509cf2171a1b0bea8697d8;p=thirdparty%2Flxc.git coverity: don't use newname after null check Actually, get rid of the temporary variables, and set newname and lxcpath to usable values if they were NULL. Signed-off-by: Serge Hallyn Acked-by: Stéphane Graber --- diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index 22373bf0d..0bbf3bfc4 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -2641,7 +2641,6 @@ static struct lxc_container *lxcapi_clone(struct lxc_container *c, const char *n struct lxc_container *c2 = NULL; char newpath[MAXPATHLEN]; int ret, storage_copied = 0; - const char *n, *l; char *origroot = NULL; struct clone_update_data data; FILE *fout; @@ -2659,9 +2658,11 @@ static struct lxc_container *lxcapi_clone(struct lxc_container *c, const char *n } // Make sure the container doesn't yet exist. - n = newname ? newname : c->name; - l = lxcpath ? lxcpath : c->get_config_path(c); - ret = snprintf(newpath, MAXPATHLEN, "%s/%s/config", l, n); + if (!newname) + newname = c->name; + if (!lxcpath) + lxcpath = c->get_config_path(c); + ret = snprintf(newpath, MAXPATHLEN, "%s/%s/config", lxcpath, newname); if (ret < 0 || ret >= MAXPATHLEN) { SYSERROR("clone: failed making config pathname"); goto out; @@ -2691,7 +2692,7 @@ static struct lxc_container *lxcapi_clone(struct lxc_container *c, const char *n fclose(fout); c->lxc_conf->rootfs.path = origroot; - sprintf(newpath, "%s/%s/rootfs", l, n); + sprintf(newpath, "%s/%s/rootfs", lxcpath, newname); if (mkdir(newpath, 0755) < 0) { SYSERROR("error creating %s", newpath); goto out; @@ -2704,9 +2705,10 @@ static struct lxc_container *lxcapi_clone(struct lxc_container *c, const char *n } } - c2 = lxc_container_new(n, l); + c2 = lxc_container_new(newname, lxcpath); if (!c2) { - ERROR("clone: failed to create new container (%s %s)", n, l); + ERROR("clone: failed to create new container (%s %s)", newname, + lxcpath); goto out; }