summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkunming.xie <kunming.xie@hotmail.com>2017-05-18 17:50:05 +0800
committerFrediano Ziglio <fziglio@redhat.com>2017-05-23 16:35:04 +0100
commitf80ee415c1793d1ab26901d32cc3fddd5293c2f7 (patch)
treef0ce939c3cf1ba890ad8a284d9f9f769855447ea
parent65f1c5e31a39e39c0e23005fe5d531cf9c1c9fc1 (diff)
Fix hdesk handle leak in vdagent
Signed-off-by: kunming.xie <kunming.xie@hotmail.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
-rw-r--r--vdagent/vdagent.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/vdagent/vdagent.cpp b/vdagent/vdagent.cpp
index c25a077..6cb889f 100644
--- a/vdagent/vdagent.cpp
+++ b/vdagent/vdagent.cpp
@@ -423,6 +423,7 @@ void VDAgent::input_desktop_message_loop()
}
if (!SetThreadDesktop(hdesk)) {
vd_printf("SetThreadDesktop failed %lu", GetLastError());
+ CloseDesktop(hdesk);
_running = false;
return;
}
@@ -431,6 +432,7 @@ void VDAgent::input_desktop_message_loop()
} else {
vd_printf("GetUserObjectInformation failed %lu", GetLastError());
}
+ CloseDesktop(hdesk);
// loading the display settings for the current session's logged on user only
// after 1) we receive logon event, and 2) the desktop switched from Winlogon
@@ -479,7 +481,6 @@ void VDAgent::input_desktop_message_loop()
}
WTSUnRegisterSessionNotification(_hwnd);
DestroyWindow(_hwnd);
- CloseDesktop(hdesk);
}
void VDAgent::event_dispatcher(DWORD timeout, DWORD wake_mask)