]> git.ipfire.org Git - thirdparty/git.git/commitdiff
unix-socket: eliminate static unix_stream_socket() helper function
authorJeff Hostetler <jeffhost@microsoft.com>
Mon, 15 Mar 2021 21:08:24 +0000 (21:08 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 15 Mar 2021 21:32:51 +0000 (14:32 -0700)
The static helper function `unix_stream_socket()` calls `die()`.  This
is not appropriate for all callers.  Eliminate the wrapper function
and make the callers propagate the error.

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
unix-socket.c

index 19ed48be9902f321285bfbec3feaf8357fd5e9b9..69f81d64e9d556e449e872c5f791e7959c6b06c2 100644 (file)
@@ -1,14 +1,6 @@
 #include "cache.h"
 #include "unix-socket.h"
 
-static int unix_stream_socket(void)
-{
-       int fd = socket(AF_UNIX, SOCK_STREAM, 0);
-       if (fd < 0)
-               die_errno("unable to create socket");
-       return fd;
-}
-
 static int chdir_len(const char *orig, int len)
 {
        char *path = xmemdupz(orig, len);
@@ -73,13 +65,16 @@ static int unix_sockaddr_init(struct sockaddr_un *sa, const char *path,
 
 int unix_stream_connect(const char *path)
 {
-       int fd, saved_errno;
+       int fd = -1, saved_errno;
        struct sockaddr_un sa;
        struct unix_sockaddr_context ctx;
 
        if (unix_sockaddr_init(&sa, path, &ctx) < 0)
                return -1;
-       fd = unix_stream_socket();
+       fd = socket(AF_UNIX, SOCK_STREAM, 0);
+       if (fd < 0)
+               goto fail;
+
        if (connect(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0)
                goto fail;
        unix_sockaddr_cleanup(&ctx);
@@ -87,15 +82,16 @@ int unix_stream_connect(const char *path)
 
 fail:
        saved_errno = errno;
+       if (fd != -1)
+               close(fd);
        unix_sockaddr_cleanup(&ctx);
-       close(fd);
        errno = saved_errno;
        return -1;
 }
 
 int unix_stream_listen(const char *path)
 {
-       int fd, saved_errno;
+       int fd = -1, saved_errno;
        struct sockaddr_un sa;
        struct unix_sockaddr_context ctx;
 
@@ -103,7 +99,9 @@ int unix_stream_listen(const char *path)
 
        if (unix_sockaddr_init(&sa, path, &ctx) < 0)
                return -1;
-       fd = unix_stream_socket();
+       fd = socket(AF_UNIX, SOCK_STREAM, 0);
+       if (fd < 0)
+               goto fail;
 
        if (bind(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0)
                goto fail;
@@ -116,8 +114,9 @@ int unix_stream_listen(const char *path)
 
 fail:
        saved_errno = errno;
+       if (fd != -1)
+               close(fd);
        unix_sockaddr_cleanup(&ctx);
-       close(fd);
        errno = saved_errno;
        return -1;
 }