From 2d14f89fea8fa7d7819e5c22ace94dbf41411601 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Fri, 30 Dec 2011 21:54:16 +0100 Subject: [PATCH] dplayx: Fix handle leak. --- dlls/dplayx/dplayx_messages.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/dlls/dplayx/dplayx_messages.c b/dlls/dplayx/dplayx_messages.c index 2e34950ded7..8b9320d0345 100644 --- a/dlls/dplayx/dplayx_messages.c +++ b/dlls/dplayx/dplayx_messages.c @@ -58,6 +58,7 @@ DWORD CreateLobbyMessageReceptionThread( HANDLE hNotifyEvent, HANDLE hStart, { DWORD dwMsgThreadId; LPMSGTHREADINFO lpThreadInfo; + HANDLE hThread; lpThreadInfo = HeapAlloc( GetProcessHeap(), 0, sizeof( *lpThreadInfo ) ); if( lpThreadInfo == NULL ) @@ -83,21 +84,20 @@ DWORD CreateLobbyMessageReceptionThread( HANDLE hNotifyEvent, HANDLE hStart, lpThreadInfo->hDeath = hDeath; lpThreadInfo->hSettingRead = hConnRead; - if( !CreateThread( NULL, /* Security attribs */ - 0, /* Stack */ - DPL_MSG_ThreadMain, /* Msg reception function */ - lpThreadInfo, /* Msg reception func parameter */ - 0, /* Flags */ - &dwMsgThreadId /* Updated with thread id */ - ) - ) + hThread = CreateThread( NULL, /* Security attribs */ + 0, /* Stack */ + DPL_MSG_ThreadMain, /* Msg reception function */ + lpThreadInfo, /* Msg reception func parameter */ + 0, /* Flags */ + &dwMsgThreadId /* Updated with thread id */ + ); + if ( hThread == NULL ) { ERR( "Unable to create msg thread\n" ); goto error; } - /* FIXME: Should I be closing the handle to the thread or does that - terminate the thread? */ + CloseHandle(hThread); return dwMsgThreadId;