From bf565b3d3a099a2287c203e17f070591aa30bbc4 Mon Sep 17 00:00:00 2001 From: Christoph von Wittich Date: Fri, 18 Jan 2008 10:34:34 +0000 Subject: [PATCH] rpcrt4: Fix a leak of msg in RPCRT4_io_thread on the error paths. svn path=/trunk/; revision=31851 --- reactos/dll/win32/rpcrt4/rpc_server.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/reactos/dll/win32/rpcrt4/rpc_server.c b/reactos/dll/win32/rpcrt4/rpc_server.c index c5c780e5dad..227b2b7689a 100644 --- a/reactos/dll/win32/rpcrt4/rpc_server.c +++ b/reactos/dll/win32/rpcrt4/rpc_server.c @@ -375,15 +375,18 @@ static DWORD CALLBACK RPCRT4_io_thread(LPVOID the_arg) } packet = HeapAlloc(GetProcessHeap(), 0, sizeof(RpcPacket)); - if (!packet) + if (!packet) { + HeapFree(GetProcessHeap(), 0, msg); break; + } packet->conn = conn; packet->hdr = hdr; 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()); - HeapFree(GetProcessHeap(), 0, packet); - break; + ERR("couldn't queue work item for worker thread, error was %d\n", GetLastError()); + HeapFree(GetProcessHeap(), 0, msg); + HeapFree(GetProcessHeap(), 0, packet); + break; } msg = NULL; }