From 94b13afb5a27531dcdef72672f115342933e1c09 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 19 Apr 2011 13:52:24 +0200 Subject: [PATCH] Win: Make sure we do not leak resources --- src/plugins/projectexplorer/windebuginterface.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/windebuginterface.cpp b/src/plugins/projectexplorer/windebuginterface.cpp index 01c704ce958..b9247a71a5e 100644 --- a/src/plugins/projectexplorer/windebuginterface.cpp +++ b/src/plugins/projectexplorer/windebuginterface.cpp @@ -56,14 +56,23 @@ void WinDebugInterface::run() if (!bufferReadyEvent) return; HANDLE dataReadyEvent = CreateEvent(NULL, FALSE, FALSE, L"DBWIN_DATA_READY"); - if (!dataReadyEvent) + if (!dataReadyEvent) { + CloseHandle(bufferReadyEvent); return; + } HANDLE sharedFile = CreateFileMapping((HANDLE)-1, NULL, PAGE_READWRITE, 0, 4096, L"DBWIN_BUFFER"); - if (!sharedFile) + if (!sharedFile) { + CloseHandle(dataReadyEvent); + CloseHandle(bufferReadyEvent); return; + } LPVOID sharedMem = MapViewOfFile(sharedFile, FILE_MAP_READ, 0, 0, 512); - if (!sharedMem) + if (!sharedMem) { + CloseHandle(sharedFile); + CloseHandle(dataReadyEvent); + CloseHandle(bufferReadyEvent); return; + } LPSTR message; LPDWORD processId;