|
|
@ -568,19 +568,20 @@ void FreeTLS(rfbClient* client)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
|
|
|
|
if (mutex_buf == NULL)
|
|
|
|
if (mutex_buf != NULL) {
|
|
|
|
return (0);
|
|
|
|
CRYPTO_set_dynlock_create_callback(NULL);
|
|
|
|
|
|
|
|
CRYPTO_set_dynlock_lock_callback(NULL);
|
|
|
|
CRYPTO_set_dynlock_create_callback(NULL);
|
|
|
|
CRYPTO_set_dynlock_destroy_callback(NULL);
|
|
|
|
CRYPTO_set_dynlock_lock_callback(NULL);
|
|
|
|
|
|
|
|
CRYPTO_set_dynlock_destroy_callback(NULL);
|
|
|
|
CRYPTO_set_locking_callback(NULL);
|
|
|
|
|
|
|
|
CRYPTO_set_id_callback(NULL);
|
|
|
|
CRYPTO_set_locking_callback(NULL);
|
|
|
|
|
|
|
|
CRYPTO_set_id_callback(NULL);
|
|
|
|
for (i = 0; i < CRYPTO_num_locks(); i++)
|
|
|
|
|
|
|
|
pthread_mutex_destroy(&mutex_buf[i]);
|
|
|
|
|
|
|
|
free(mutex_buf);
|
|
|
|
|
|
|
|
mutex_buf = NULL;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < CRYPTO_num_locks(); i++)
|
|
|
|
SSL_free(client->tlsSession);
|
|
|
|
pthread_mutex_destroy(&mutex_buf[i]);
|
|
|
|
|
|
|
|
free(mutex_buf);
|
|
|
|
|
|
|
|
mutex_buf = NULL;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|