mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
Fix handle leaks in encomsp and remdesk server
Ensure proper thread cleanup when these channel servers are stopped.
This commit is contained in:
@@ -338,6 +338,7 @@ static UINT encomsp_server_stop(EncomspServerContext* context)
|
||||
}
|
||||
|
||||
CloseHandle(context->priv->Thread);
|
||||
CloseHandle(context->priv->StopEvent);
|
||||
return error;
|
||||
}
|
||||
|
||||
@@ -368,6 +369,9 @@ void encomsp_server_context_free(EncomspServerContext* context)
|
||||
{
|
||||
if (context)
|
||||
{
|
||||
if (context->priv->ChannelHandle != INVALID_HANDLE_VALUE)
|
||||
WTSVirtualChannelClose(context->priv->ChannelHandle);
|
||||
|
||||
free(context->priv);
|
||||
free(context);
|
||||
}
|
||||
|
||||
@@ -756,6 +756,7 @@ static UINT remdesk_server_stop(RemdeskServerContext* context)
|
||||
}
|
||||
|
||||
CloseHandle(context->priv->Thread);
|
||||
CloseHandle(context->priv->StopEvent);
|
||||
return CHANNEL_RC_OK;
|
||||
}
|
||||
|
||||
@@ -787,6 +788,9 @@ void remdesk_server_context_free(RemdeskServerContext* context)
|
||||
{
|
||||
if (context)
|
||||
{
|
||||
if (context->priv->ChannelHandle != INVALID_HANDLE_VALUE)
|
||||
WTSVirtualChannelClose(context->priv->ChannelHandle);
|
||||
|
||||
free(context->priv);
|
||||
free(context);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user