Module: wine Branch: master Commit: 3dd7c64c257ac801a0679a7b2be5388fe68ccce5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3dd7c64c257ac801a0679a7b2b...
Author: André Hentschel nerv@dawncrow.de Date: Mon Oct 29 20:16:36 2012 +0100
dplayx: Reorder some code to avoid memory leak (coverity).
---
dlls/dplayx/dplay.c | 13 ++++--------- 1 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index 7636546..29212bc 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(), 0, 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(), 0, dwDataSize ); + CopyMemory( lpPData->lpRemoteData, lpData, dwDataSize ); lpPData->dwRemoteDataSize = dwDataSize; } }