From: Christian Brauner Date: Tue, 19 Feb 2019 22:21:50 +0000 (+0100) Subject: commands_utils: auto free lxc_add_state_client X-Git-Tag: lxc-3.2.0~132^2~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7fda348e84f1d8743a4a7b51ffbabd2c02431fcf;p=thirdparty%2Flxc.git commands_utils: auto free lxc_add_state_client Signed-off-by: Christian Brauner --- diff --git a/src/lxc/commands_utils.c b/src/lxc/commands_utils.c index c92cdd57c..ce167961d 100644 --- a/src/lxc/commands_utils.c +++ b/src/lxc/commands_utils.c @@ -191,9 +191,9 @@ int lxc_cmd_connect(const char *name, const char *lxcpath, int lxc_add_state_client(int state_client_fd, struct lxc_handler *handler, lxc_state_t states[MAX_STATE]) { + __do_free struct lxc_state_client *newclient = NULL; + __do_free struct lxc_list *tmplist = NULL; int state; - struct lxc_state_client *newclient; - struct lxc_list *tmplist; newclient = malloc(sizeof(*newclient)); if (!newclient) @@ -204,21 +204,19 @@ int lxc_add_state_client(int state_client_fd, struct lxc_handler *handler, newclient->clientfd = state_client_fd; tmplist = malloc(sizeof(*tmplist)); - if (!tmplist) { - free(newclient); + if (!tmplist) return -ENOMEM; - } state = handler->state; if (states[state] != 1) { lxc_list_add_elem(tmplist, newclient); lxc_list_add_tail(&handler->conf->state_clients, tmplist); } else { - free(newclient); - free(tmplist); return state; } TRACE("Added state client %d to state client list", state_client_fd); + move_ptr(newclient); + move_ptr(tmplist); return MAX_STATE; }