]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
af_unix: non-functional changes
authorChristian Brauner <christian.brauner@ubuntu.com>
Fri, 25 Aug 2017 05:11:26 +0000 (07:11 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Fri, 25 Aug 2017 05:11:26 +0000 (07:11 +0200)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/af_unix.c
src/lxc/af_unix.h

index c354637b1246eff26a2ff2f033a86b5e6d85595d..01e86aaef24e22f24967bf9901b47319901f47a0 100644 (file)
@@ -38,7 +38,7 @@ lxc_log_define(lxc_af_unix, lxc);
 
 int lxc_abstract_unix_open(const char *path, int type, int flags)
 {
-       int fd;
+       int fd, ret;
        size_t len;
        struct sockaddr_un addr;
 
@@ -64,18 +64,24 @@ int lxc_abstract_unix_open(const char *path, int type, int flags)
        /* addr.sun_path[0] has already been set to 0 by memset() */
        strncpy(&addr.sun_path[1], &path[1], strlen(&path[1]));
 
-       if (bind(fd, (struct sockaddr *)&addr, offsetof(struct sockaddr_un, sun_path) + len + 1)) {
+       ret = bind(fd, (struct sockaddr *)&addr,
+                  offsetof(struct sockaddr_un, sun_path) + len + 1);
+       if (ret < 0) {
                int tmp = errno;
                close(fd);
                errno = tmp;
                return -1;
        }
 
-       if (type == SOCK_STREAM && listen(fd, 100)) {
-               int tmp = errno;
-               close(fd);
-               errno = tmp;
-               return -1;
+       if (type == SOCK_STREAM) {
+               ret = listen(fd, 100);
+               if (ret < 0) {
+                       int tmp = errno;
+                       close(fd);
+                       errno = tmp;
+                       return -1;
+               }
+
        }
 
        return fd;
@@ -84,13 +90,12 @@ int lxc_abstract_unix_open(const char *path, int type, int flags)
 int lxc_abstract_unix_close(int fd)
 {
        close(fd);
-
        return 0;
 }
 
 int lxc_abstract_unix_connect(const char *path)
 {
-       int fd;
+       int fd, ret;
        size_t len;
        struct sockaddr_un addr;
 
@@ -112,7 +117,9 @@ int lxc_abstract_unix_connect(const char *path)
        /* addr.sun_path[0] has already been set to 0 by memset() */
        strncpy(&addr.sun_path[1], &path[1], strlen(&path[1]));
 
-       if (connect(fd, (struct sockaddr *)&addr, offsetof(struct sockaddr_un, sun_path) + len + 1)) {
+       ret = connect(fd, (struct sockaddr *)&addr,
+                     offsetof(struct sockaddr_un, sun_path) + len + 1);
+       if (ret < 0) {
                close(fd);
                return -1;
        }
@@ -205,13 +212,11 @@ out:
 
 int lxc_abstract_unix_send_credential(int fd, void *data, size_t size)
 {
-       struct msghdr msg = { 0 };
+       struct msghdr msg = {0};
        struct iovec iov;
        struct cmsghdr *cmsg;
        struct ucred cred = {
-               .pid = getpid(),
-               .uid = getuid(),
-               .gid = getgid(),
+           .pid = getpid(), .uid = getuid(), .gid = getgid(),
        };
        char cmsgbuf[CMSG_SPACE(sizeof(cred))] = {0};
        char buf[1] = {0};
@@ -238,7 +243,7 @@ int lxc_abstract_unix_send_credential(int fd, void *data, size_t size)
 
 int lxc_abstract_unix_rcv_credential(int fd, void *data, size_t size)
 {
-       struct msghdr msg = { 0 };
+       struct msghdr msg = {0};
        struct iovec iov;
        struct cmsghdr *cmsg;
        struct ucred cred;
@@ -263,10 +268,11 @@ int lxc_abstract_unix_rcv_credential(int fd, void *data, size_t size)
        cmsg = CMSG_FIRSTHDR(&msg);
 
        if (cmsg && cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred)) &&
-                       cmsg->cmsg_level == SOL_SOCKET &&
-                       cmsg->cmsg_type == SCM_CREDENTIALS) {
+           cmsg->cmsg_level == SOL_SOCKET &&
+           cmsg->cmsg_type == SCM_CREDENTIALS) {
                memcpy(&cred, CMSG_DATA(cmsg), sizeof(cred));
-               if (cred.uid && (cred.uid != getuid() || cred.gid != getgid())) {
+               if (cred.uid &&
+                   (cred.uid != getuid() || cred.gid != getgid())) {
                        INFO("message denied for '%d/%d'", cred.uid, cred.gid);
                        return -EACCES;
                }
index fafa225b5a678a634c1f5e7743bf27fcd28df2fc..9dfccd16e96acd6d05dc578d8d31b6f6f5c5e6a9 100644 (file)
@@ -38,4 +38,4 @@ extern int lxc_abstract_unix_recv_fds(int fd, int *recvfds, int num_recvfds,
 extern int lxc_abstract_unix_send_credential(int fd, void *data, size_t size);
 extern int lxc_abstract_unix_rcv_credential(int fd, void *data, size_t size);
 
-#endif
+#endif /* __LXC_AF_UNIX_H */