Module: wine Branch: master Commit: 9c63a30c2591a3c75b8d431bc94b208e3c15153b URL: http://source.winehq.org/git/wine.git/?a=commit;h=9c63a30c2591a3c75b8d431bc9...
Author: Frédéric Delanoy frederic.delanoy@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)