From: Christian Brauner Date: Sat, 9 Feb 2019 10:36:18 +0000 (+0100) Subject: af_unix: use __do_free X-Git-Tag: lxc-3.2.0~142^2~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83c11f1d041027d66fd72498f282f8989dc0e4d2;p=thirdparty%2Flxc.git af_unix: use __do_free Signed-off-by: Christian Brauner --- diff --git a/src/lxc/af_unix.c b/src/lxc/af_unix.c index 02f32c454..3b00d64fb 100644 --- a/src/lxc/af_unix.c +++ b/src/lxc/af_unix.c @@ -37,6 +37,7 @@ #include "config.h" #include "log.h" +#include "memory_utils.h" #include "raw_syscalls.h" #include "utils.h" @@ -155,12 +156,11 @@ int lxc_abstract_unix_connect(const char *path) int lxc_abstract_unix_send_fds(int fd, int *sendfds, int num_sendfds, void *data, size_t size) { - int ret; + __do_free char *cmsgbuf; struct msghdr msg; struct iovec iov; struct cmsghdr *cmsg = NULL; char buf[1] = {0}; - char *cmsgbuf; size_t cmsgbufsize = CMSG_SPACE(num_sendfds * sizeof(int)); memset(&msg, 0, sizeof(msg)); @@ -189,20 +189,18 @@ int lxc_abstract_unix_send_fds(int fd, int *sendfds, int num_sendfds, msg.msg_iov = &iov; msg.msg_iovlen = 1; - ret = sendmsg(fd, &msg, MSG_NOSIGNAL); - free(cmsgbuf); - return ret; + return sendmsg(fd, &msg, MSG_NOSIGNAL); } int lxc_abstract_unix_recv_fds(int fd, int *recvfds, int num_recvfds, void *data, size_t size) { + __do_free char *cmsgbuf; int ret; struct msghdr msg; struct iovec iov; struct cmsghdr *cmsg = NULL; char buf[1] = {0}; - char *cmsgbuf; size_t cmsgbufsize = CMSG_SPACE(num_recvfds * sizeof(int)); memset(&msg, 0, sizeof(msg)); @@ -234,7 +232,6 @@ int lxc_abstract_unix_recv_fds(int fd, int *recvfds, int num_recvfds, memcpy(recvfds, CMSG_DATA(cmsg), num_recvfds * sizeof(int)); out: - free(cmsgbuf); return ret; }