=?UTF-8?Q?Fr=C3=A9d=C3=A9ric=20Delanoy=20?=: rpcrt4: Fix resources leaks.
Alexandre Julliard
julliard at winehq.org
Wed Oct 31 17:17:21 CDT 2012
Module: wine
Branch: master
Commit: 9c63a30c2591a3c75b8d431bc94b208e3c15153b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9c63a30c2591a3c75b8d431bc94b208e3c15153b
Author: Frédéric Delanoy <frederic.delanoy at gmail.com>
Date: Wed Oct 31 09:43:46 2012 +0100
rpcrt4: Fix resources leaks.
---
dlls/rpcrt4/rpc_transport.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/dlls/rpcrt4/rpc_transport.c b/dlls/rpcrt4/rpc_transport.c
index 686ce68..aebb05e 100644
--- a/dlls/rpcrt4/rpc_transport.c
+++ b/dlls/rpcrt4/rpc_transport.c
@@ -1345,6 +1345,7 @@ static RPC_STATUS rpcrt4_protseq_ncacn_ip_tcp_open_endpoint(RpcServerProtseq *pr
if (getsockname(sock, (struct sockaddr *)&sa, &sa_len))
{
WARN("getsockname() failed: %s\n", strerror(errno));
+ closesocket(sock);
status = RPC_S_CANT_CREATE_ENDPOINT;
continue;
}
@@ -1355,6 +1356,7 @@ static RPC_STATUS rpcrt4_protseq_ncacn_ip_tcp_open_endpoint(RpcServerProtseq *pr
if (ret)
{
WARN("getnameinfo failed: %s\n", gai_strerror(ret));
+ closesocket(sock);
status = RPC_S_CANT_CREATE_ENDPOINT;
continue;
}
@@ -2139,6 +2141,8 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
{
HeapFree(GetProcessHeap(), 0, password);
HeapFree(GetProcessHeap(), 0, user);
+ HeapFree(GetProcessHeap(), 0, proxy);
+ HeapFree(GetProcessHeap(), 0, servername);
ERR("InternetOpenW failed with error %d\n", GetLastError());
return RPC_S_SERVER_UNAVAILABLE;
}
@@ -2153,6 +2157,7 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
{
HeapFree(GetProcessHeap(), 0, password);
HeapFree(GetProcessHeap(), 0, user);
+ HeapFree(GetProcessHeap(), 0, proxy);
return RPC_S_OUT_OF_RESOURCES;
}
MultiByteToWideChar(CP_ACP, 0, httpc->common.NetworkAddr, -1, servername, strlen(httpc->common.NetworkAddr) + 1);
@@ -2163,6 +2168,7 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
HeapFree(GetProcessHeap(), 0, password);
HeapFree(GetProcessHeap(), 0, user);
+ HeapFree(GetProcessHeap(), 0, proxy);
HeapFree(GetProcessHeap(), 0, servername);
if (!httpc->session)
More information about the wine-cvs
mailing list