From: Christian Brauner Date: Sat, 9 Dec 2017 18:48:48 +0000 (+0100) Subject: coverity: #1425862 X-Git-Tag: lxc-3.0.0.beta1~113^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41784e4ee493b52f3ade94fe40cd66eee4b5430e;p=thirdparty%2Flxc.git coverity: #1425862 initialize handler Signed-off-by: Christian Brauner --- diff --git a/src/lxc/criu.c b/src/lxc/criu.c index 245328ab1..2365365e5 100644 --- a/src/lxc/criu.c +++ b/src/lxc/criu.c @@ -1147,6 +1147,8 @@ static bool do_dump(struct lxc_container *c, char *mode, struct migrate_opts *op close(criuout[0]); + lxc_zero_handler(&h); + h.name = c->name; if (!cgroup_init(&h)) { ERROR("failed to cgroup_init()"); diff --git a/src/lxc/start.c b/src/lxc/start.c index 761a35649..9324478ac 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -504,6 +504,31 @@ out_sigfd: return -1; } +void lxc_zero_handler(struct lxc_handler *handler) +{ + int i; + + memset(handler, 0, sizeof(struct lxc_handler)); + + handler->clone_flags = -1; + + handler->pinfd = -1; + + handler->sigfd = -1; + + for (i = 0; i < LXC_NS_MAX; i++) + handler->nsfd[i] = -1; + + handler->data_sock[0] = -1; + handler->data_sock[1] = -1; + + handler->state_socket_pair[0] = -1; + handler->state_socket_pair[1] = -1; + + handler->sync_sock[0] = -1; + handler->sync_sock[1] = -1; +} + void lxc_free_handler(struct lxc_handler *handler) { if (handler->conf && handler->conf->maincmd_fd) diff --git a/src/lxc/start.h b/src/lxc/start.h index e2b13141b..727da4f6a 100644 --- a/src/lxc/start.h +++ b/src/lxc/start.h @@ -114,6 +114,7 @@ extern struct lxc_handler *lxc_init_handler(const char *name, struct lxc_conf *conf, const char *lxcpath, bool daemonize); +extern void lxc_zero_handler(struct lxc_handler *handler); extern void lxc_free_handler(struct lxc_handler *handler); extern int lxc_init(const char *name, struct lxc_handler *handler); extern void lxc_fini(const char *name, struct lxc_handler *handler);