From fbe20f8f9218e2c509295e588c0008c0345c2c9f Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 18 Aug 2012 16:36:05 +0000 Subject: [PATCH] [MSAFD] - Fix a memory leak in the failure path of WSPGetSockName and WSPGetPeerName - Fix a broken debug print in WSPGetPeerName svn path=/trunk/; revision=57097 --- reactos/dll/win32/msafd/misc/dllmain.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/reactos/dll/win32/msafd/misc/dllmain.c b/reactos/dll/win32/msafd/misc/dllmain.c index f582f4cac5f..15f91af02e5 100644 --- a/reactos/dll/win32/msafd/misc/dllmain.c +++ b/reactos/dll/win32/msafd/misc/dllmain.c @@ -1842,6 +1842,8 @@ WSPGetSockName(IN SOCKET Handle, } } + HeapFree(GlobalHeap, 0, TdiAddress); + return MsafdReturnWithErrno ( Status, lpErrno, 0, NULL ); } @@ -1933,7 +1935,7 @@ WSPGetPeerName(IN SOCKET s, SocketAddress->Address[0].Address, SocketAddress->Address[0].AddressLength); *NameLength = Socket->SharedData.SizeOfRemoteAddress; - AFD_DbgPrint (MID_TRACE, ("NameLength %d Address: %s Port %x\n", + AFD_DbgPrint (MID_TRACE, ("NameLength %d Address: %x Port %x\n", *NameLength, ((struct sockaddr_in *)Name)->sin_addr.s_addr, ((struct sockaddr_in *)Name)->sin_port)); HeapFree(GlobalHeap, 0, SocketAddress); @@ -1947,6 +1949,8 @@ WSPGetPeerName(IN SOCKET s, } } + HeapFree(GlobalHeap, 0, SocketAddress); + return MsafdReturnWithErrno ( Status, lpErrno, 0, NULL ); }