dplayx: Reorder some code to avoid memory leaks (coverity)
André Hentschel
nerv at dawncrow.de
Sun Oct 28 10:13:47 CDT 2012
CID 713443 & 713444
---
dlls/dplayx/dplay.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c
index 7636546..0beeb70 100644
--- a/dlls/dplayx/dplay.c
+++ b/dlls/dplayx/dplay.c
@@ -1126,10 +1126,6 @@ DP_SetGroupData( lpGroupData lpGData, DWORD dwFlags,
/* Reallocate for new data */
if( lpData != NULL )
{
- LPVOID lpNewData = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
- sizeof( dwDataSize ) );
- CopyMemory( lpNewData, lpData, dwDataSize );
-
if( dwFlags & DPSET_LOCAL )
{
lpGData->lpLocalData = lpData;
@@ -1137,7 +1133,8 @@ DP_SetGroupData( lpGroupData lpGData, DWORD dwFlags,
}
else
{
- lpGData->lpRemoteData = lpNewData;
+ lpGData->lpRemoteData = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( dwDataSize ) );
+ CopyMemory( lpGData->lpRemoteData, lpData, dwDataSize );
lpGData->dwRemoteDataSize = dwDataSize;
}
}
@@ -1330,9 +1327,6 @@ DP_SetPlayerData( lpPlayerData lpPData, DWORD dwFlags,
/* Reallocate for new data */
if( lpData != NULL )
{
- LPVOID lpNewData = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
- sizeof( dwDataSize ) );
- CopyMemory( lpNewData, lpData, dwDataSize );
if( dwFlags & DPSET_LOCAL )
{
@@ -1341,7 +1335,8 @@ DP_SetPlayerData( lpPlayerData lpPData, DWORD dwFlags,
}
else
{
- lpPData->lpRemoteData = lpNewData;
+ lpPData->lpRemoteData = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( dwDataSize ) );
+ CopyMemory( lpPData->lpRemoteData, lpData, dwDataSize );
lpPData->dwRemoteDataSize = dwDataSize;
}
}
--
1.8.0
--
Best Regards, André Hentschel
More information about the wine-patches
mailing list