Rob Shearman : rpcrt4: Fix potential memory leaks on error paths in RPCRT4_io_thread.

Alexandre Julliard julliard at winehq.org
Tue Feb 5 06:34:33 CST 2008


Module: wine
Branch: master
Commit: 1ceef1e149a92e4125451984f1920113bd7a383c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1ceef1e149a92e4125451984f1920113bd7a383c

Author: Rob Shearman <rob at 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;




More information about the wine-cvs mailing list