Changeset: 7ad00ae9837d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7ad00ae9837d
Modified Files:
        tools/merovingian/daemon/proxy.c
Branch: Oct2014
Log Message:

Resource leak.


diffs (33 lines):

diff --git a/tools/merovingian/daemon/proxy.c b/tools/merovingian/daemon/proxy.c
--- a/tools/merovingian/daemon/proxy.c
+++ b/tools/merovingian/daemon/proxy.c
@@ -151,6 +151,7 @@ startProxy(int psock, stream *cfdin, str
                strncpy(server.sun_path, conn, sizeof(server.sun_path) - 1);
                free(conn);
                if (connect(ssock, (SOCKPTR) &server, sizeof(struct 
sockaddr_un)) == -1) {
+                       closesocket(ssock);
                        return(newErr("cannot connect: %s", strerror(errno)));
                }
 
@@ -180,17 +181,17 @@ startProxy(int psock, stream *cfdin, str
                Mfprintf(stdout, "target connection is on local UNIX domain 
socket, "
                                "passing on filedescriptor instead of 
proxying\n");
                if (sendmsg(ssock, &msg, 0) < 0) {
-                       close(ssock);
+                       closesocket(ssock);
                        return(newErr("could not send initial byte: %s", 
strerror(errno)));
                }
                /* block until the server acknowledges that it has psock
                 * connected with itself */
                if (recv(ssock, buf, 1, 0) == -1) {
-                       close(ssock);
+                       closesocket(ssock);
                        return(newErr("could not receive initial byte: %s", 
strerror(errno)));
                }
-               close(ssock);
-               close(psock);
+               closesocket(ssock);
+               closesocket(psock);
                close_stream(cfdin);
                close_stream(cfout);
                return(NO_ERR);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to