From: Christian Brauner Date: Sat, 9 Dec 2017 18:48:48 +0000 (+0100) Subject: coverity: #1425862 X-Git-Tag: lxc-2.0.10~476 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=63efabee53bebb8150fd4699a0a2c07e7b01388d;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 b4b37e5ac..d4aef39e9 100644 --- a/src/lxc/criu.c +++ b/src/lxc/criu.c @@ -1145,6 +1145,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 57d0e083c..23b0f5f4a 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -505,6 +505,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 be724bcaf..28f9817bf 100644 --- a/src/lxc/start.h +++ b/src/lxc/start.h @@ -125,6 +125,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);