]> source.dussan.org Git - rspamd.git/commitdiff
Fix some cases in unix socket creation.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 26 Dec 2013 21:51:15 +0000 (21:51 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 26 Dec 2013 21:51:15 +0000 (21:51 +0000)
src/util.c

index 50dbf7a37100048c3e8163aab688d8a089d73afb..b537e8827884796fc1cc3e8f4903d33d426d06f9 100644 (file)
@@ -220,8 +220,8 @@ accept_from_socket (gint listen_sock, struct sockaddr *addr, socklen_t * len)
 gint
 make_unix_socket (const gchar *path, struct sockaddr_un *addr, gint type, gboolean is_server, gboolean async)
 {
-       gint                            fd, s_error, r, optlen, serrno, on = 1;
-       struct stat                    st;
+       gint                            fd = -1, s_error, r, optlen, serrno, on = 1;
+       struct stat                     st;
 
        if (path == NULL)
                return -1;
@@ -307,7 +307,9 @@ make_unix_socket (const gchar *path, struct sockaddr_un *addr, gint type, gboole
 
   out:
        serrno = errno;
-       close (fd);
+       if (fd != -1) {
+               close (fd);
+       }
        errno = serrno;
        return (-1);
 }