mpr: Fix some memory leaks
Andrew Talbot
andrew.talbot at talbotville.com
Wed Jun 25 16:42:04 CDT 2008
Changelog:
mpr: Fix some memory leaks.
diff --git a/dlls/mpr/wnet.c b/dlls/mpr/wnet.c
index 32bc255..9952f46 100644
--- a/dlls/mpr/wnet.c
+++ b/dlls/mpr/wnet.c
@@ -1312,12 +1312,20 @@ DWORD WINAPI WNetGetResourceInformationA( LPNETRESOURCEA lpNetResource,
ret = _thunkNetResourceArrayAToW(lpNetResource, &count, lpNetResourceW, &size);
if (ret == WN_MORE_DATA)
{
- lpNetResourceW = HeapAlloc(GetProcessHeap(), 0, size);
- if (lpNetResourceW)
+ LPNETRESOURCEW temp = HeapReAlloc(GetProcessHeap(), 0, lpNetResourceW, size);
+
+ if (temp)
+ {
+ lpNetResourceW = temp;
+ temp = NULL;
ret = _thunkNetResourceArrayAToW(lpNetResource,
&count, lpNetResourceW, &size);
+ }
else
+ {
+ HeapFree(GetProcessHeap(), 0, lpNetResourceW);
ret = WN_OUT_OF_MEMORY;
+ }
}
if (ret == WN_SUCCESS)
{
@@ -1343,6 +1351,7 @@ DWORD WINAPI WNetGetResourceInformationA( LPNETRESOURCEA lpNetResource,
{
ret = _thunkNetResourceArrayWToA(lpBufferW,
&count, lpBuffer, cbBuffer);
+ HeapFree(GetProcessHeap(), 0, lpNetResourceW);
lpNetResourceW = lpBufferW;
size = sizeof(NETRESOURCEA);
size += WideCharToMultiByte(CP_ACP, 0, lpNetResourceW->lpRemoteName,
More information about the wine-patches
mailing list