Module: wine Branch: master Commit: 1ceef1e149a92e4125451984f1920113bd7a383c URL: http://source.winehq.org/git/wine.git/?a=commit;h=1ceef1e149a92e4125451984f1...
Author: Rob Shearman rob@codeweavers.com Date: Mon Feb 4 22:22:50 2008 +0000
rpcrt4: Fix potential memory leaks on error paths in RPCRT4_io_thread.
---
dlls/rpcrt4/rpc_server.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/dlls/rpcrt4/rpc_server.c b/dlls/rpcrt4/rpc_server.c index 35acbb7..9ffec50 100644 --- a/dlls/rpcrt4/rpc_server.c +++ b/dlls/rpcrt4/rpc_server.c @@ -391,6 +391,7 @@ static DWORD CALLBACK RPCRT4_io_thread(LPVOID the_arg)
packet = HeapAlloc(GetProcessHeap(), 0, sizeof(RpcPacket)); if (!packet) { + I_RpcFree(msg->Buffer); HeapFree(GetProcessHeap(), 0, msg); break; } @@ -399,6 +400,7 @@ static DWORD CALLBACK RPCRT4_io_thread(LPVOID the_arg) packet->msg = msg; if (!QueueUserWorkItem(RPCRT4_worker_thread, packet, WT_EXECUTELONGFUNCTION)) { ERR("couldn't queue work item for worker thread, error was %d\n", GetLastError()); + I_RpcFree(msg->Buffer); HeapFree(GetProcessHeap(), 0, msg); HeapFree(GetProcessHeap(), 0, packet); break;