Fixed resource cleanup.
This commit is contained in:
parent
77134d9def
commit
4ab26a334a
@ -255,6 +255,7 @@ static UINT sshagent_on_close(IWTSVirtualChannelCallback* pChannelCallback)
|
|||||||
}
|
}
|
||||||
|
|
||||||
CloseHandle(callback->thread);
|
CloseHandle(callback->thread);
|
||||||
|
LeaveCriticalSection(&callback->lock);
|
||||||
DeleteCriticalSection(&callback->lock);
|
DeleteCriticalSection(&callback->lock);
|
||||||
free(callback);
|
free(callback);
|
||||||
return CHANNEL_RC_OK;
|
return CHANNEL_RC_OK;
|
||||||
@ -287,6 +288,7 @@ static UINT sshagent_on_new_channel_connection(IWTSListenerCallback* pListenerCa
|
|||||||
|
|
||||||
if (callback->agent_fd == -1)
|
if (callback->agent_fd == -1)
|
||||||
{
|
{
|
||||||
|
free(callback);
|
||||||
return CHANNEL_RC_INITIALIZATION_ERROR;
|
return CHANNEL_RC_INITIALIZATION_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -308,6 +310,8 @@ static UINT sshagent_on_new_channel_connection(IWTSListenerCallback* pListenerCa
|
|||||||
if (!callback->thread)
|
if (!callback->thread)
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "CreateThread failed!");
|
WLog_ERR(TAG, "CreateThread failed!");
|
||||||
|
DeleteCriticalSection(&callback->lock);
|
||||||
|
free(callback);
|
||||||
return CHANNEL_RC_INITIALIZATION_ERROR;
|
return CHANNEL_RC_INITIALIZATION_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -341,6 +345,8 @@ static UINT sshagent_plugin_initialize(IWTSPlugin* pPlugin, IWTSVirtualChannelMa
|
|||||||
if (sshagent->listener_callback->agent_uds_path == NULL)
|
if (sshagent->listener_callback->agent_uds_path == NULL)
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "Environment variable $SSH_AUTH_SOCK undefined!");
|
WLog_ERR(TAG, "Environment variable $SSH_AUTH_SOCK undefined!");
|
||||||
|
free(sshagent->listener_callback);
|
||||||
|
sshagent->listener_callback = NULL;
|
||||||
return CHANNEL_RC_INITIALIZATION_ERROR;
|
return CHANNEL_RC_INITIALIZATION_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user