From 7fda348e84f1d8743a4a7b51ffbabd2c02431fcf Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Tue, 19 Feb 2019 23:21:50 +0100 Subject: [PATCH] commands_utils: auto free lxc_add_state_client Signed-off-by: Christian Brauner --- src/lxc/commands_utils.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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; } -- 2.47.2