diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index 861c0903e81..92062d310d4 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -1593,17 +1593,12 @@ static HRESULT DP_IF_CreatePlayer( IDirectPlayImpl *This, void *lpMsgHdr, DPID * player total */ lpPData = DP_CreatePlayer( This, lpidPlayer, lpPlayerName, dwCreateFlags, hEvent, bAnsi ); - - if( lpPData == NULL ) - { - return DPERR_CANTADDPLAYER; - } - /* Create the list object and link it in */ lpPList = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( *lpPList ) ); - if( lpPList == NULL ) + if( !lpPData || !lpPList ) { - FIXME( "Memory leak\n" ); + HeapFree( GetProcessHeap(), 0, lpPData ); + HeapFree( GetProcessHeap(), 0, lpPList ); return DPERR_CANTADDPLAYER; }