From: Christian Brauner Date: Sat, 9 Dec 2017 18:48:48 +0000 (+0100) Subject: coverity: #1425862 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c6f6b380853d49b5bd1da4d701f21ecffff5598e;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 5afb1a522..2fb974fce 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -509,6 +509,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);