]> granicus.if.org Git - php/commitdiff
Fix #28996: unix sockets leak when connection fails
authorWez Furlong <wez@php.net>
Fri, 2 Jul 2004 17:23:07 +0000 (17:23 +0000)
committerWez Furlong <wez@php.net>
Fri, 2 Jul 2004 17:23:07 +0000 (17:23 +0000)
main/network.c

index 9d5004a025c080348ff34b87111efb1a7b5ce487..5448d289dd3f3f68c2e58846a879767e1f84a27e 100644 (file)
@@ -704,8 +704,11 @@ PHPAPI php_stream *_php_stream_sock_open_unix(const char *path, int pathlen, con
        
        memcpy(unix_addr.sun_path, path, pathlen);
 
-       if (php_connect_nonb(socketd, (struct sockaddr *) &unix_addr, sizeof(unix_addr), timeout) == SOCK_CONN_ERR) 
+       if (php_connect_nonb(socketd, (struct sockaddr *) &unix_addr,
+                       sizeof(unix_addr), timeout) == SOCK_CONN_ERR) {
+               closesocket(socketd);
                return NULL;
+       }
 
        stream = php_stream_sock_open_from_socket_rel(socketd, persistent_id);
        if (stream == NULL)