diff --git a/channels/sshagent/client/sshagent_main.c b/channels/sshagent/client/sshagent_main.c index c0f915be9..38f5a5cf8 100644 --- a/channels/sshagent/client/sshagent_main.c +++ b/channels/sshagent/client/sshagent_main.c @@ -255,7 +255,6 @@ static UINT sshagent_on_close(IWTSVirtualChannelCallback* pChannelCallback) } CloseHandle(callback->thread); - LeaveCriticalSection(&callback->lock); DeleteCriticalSection(&callback->lock); free(callback); return CHANNEL_RC_OK; @@ -288,7 +287,6 @@ static UINT sshagent_on_new_channel_connection(IWTSListenerCallback* pListenerCa if (callback->agent_fd == -1) { - free(callback); return CHANNEL_RC_INITIALIZATION_ERROR; } @@ -310,8 +308,6 @@ static UINT sshagent_on_new_channel_connection(IWTSListenerCallback* pListenerCa if (!callback->thread) { WLog_ERR(TAG, "CreateThread failed!"); - DeleteCriticalSection(&callback->lock); - free(callback); return CHANNEL_RC_INITIALIZATION_ERROR; } @@ -345,8 +341,6 @@ static UINT sshagent_plugin_initialize(IWTSPlugin* pPlugin, IWTSVirtualChannelMa if (sshagent->listener_callback->agent_uds_path == NULL) { WLog_ERR(TAG, "Environment variable $SSH_AUTH_SOCK undefined!"); - free(sshagent->listener_callback); - sshagent->listener_callback = NULL; return CHANNEL_RC_INITIALIZATION_ERROR; }