[lxc-devel] [lxc/master] tree-wide: cleanup macros

brauner on Github lxc-bot at linuxcontainers.org
Tue Feb 19 22:22:42 UTC 2019


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 364 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20190219/8f9fe8dc/attachment-0001.bin>
-------------- next part --------------
From 5c08d938a84548391d9915fe9d8edea0314826b3 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Tue, 19 Feb 2019 23:21:08 +0100
Subject: [PATCH 1/2] commands_utils: __do_close lxc_cmd_sock_get_state

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
 src/lxc/commands_utils.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/lxc/commands_utils.c b/src/lxc/commands_utils.c
index 5545744b6..e3f3ca6a2 100644
--- a/src/lxc/commands_utils.c
+++ b/src/lxc/commands_utils.c
@@ -82,8 +82,8 @@ int lxc_cmd_sock_rcv_state(int state_client_fd, int timeout)
 int lxc_cmd_sock_get_state(const char *name, const char *lxcpath,
 			   lxc_state_t states[MAX_STATE], int timeout)
 {
+	__do_close int state_client_fd = -EBADF;
 	int ret;
-	int state_client_fd;
 
 	ret = lxc_cmd_add_state_client(name, lxcpath, states, &state_client_fd);
 	if (ret < 0)
@@ -92,9 +92,7 @@ int lxc_cmd_sock_get_state(const char *name, const char *lxcpath,
 	if (ret < MAX_STATE)
 		return ret;
 
-	ret = lxc_cmd_sock_rcv_state(state_client_fd, timeout);
-	close(state_client_fd);
-	return ret;
+	return lxc_cmd_sock_rcv_state(state_client_fd, timeout);
 }
 
 int lxc_make_abstract_socket_name(char *path, size_t pathlen,

From f715f320ef83c30cb61c9d3c3a1934b298f87c53 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Tue, 19 Feb 2019 23:21:50 +0100
Subject: [PATCH 2/2] commands_utils: lxc_add_state_client

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
 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 e3f3ca6a2..f4abe048d 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;
 }


More information about the lxc-devel mailing list