Commit 629fd8fc authored by Hans Leidekker's avatar Hans Leidekker Committed by Alexandre Julliard

winhttp: Clean up locks after closing libssl and libcrypto.

SSL_CTX_free() triggers a call to the locking callback. Found by valgrind.
parent e62fdaf0
...@@ -316,13 +316,6 @@ void netconn_unload( void ) ...@@ -316,13 +316,6 @@ void netconn_unload( void )
#if defined(SONAME_LIBSSL) && defined(SONAME_LIBCRYPTO) #if defined(SONAME_LIBSSL) && defined(SONAME_LIBCRYPTO)
if (libcrypto_handle) if (libcrypto_handle)
{ {
if (ssl_locks)
{
int i;
for (i = 0; i < num_ssl_locks; i++) DeleteCriticalSection( &ssl_locks[i] );
HeapFree( GetProcessHeap(), 0, ssl_locks );
}
wine_dlclose( libcrypto_handle, NULL, 0 ); wine_dlclose( libcrypto_handle, NULL, 0 );
} }
if (libssl_handle) if (libssl_handle)
...@@ -331,6 +324,12 @@ void netconn_unload( void ) ...@@ -331,6 +324,12 @@ void netconn_unload( void )
pSSL_CTX_free( ctx ); pSSL_CTX_free( ctx );
wine_dlclose( libssl_handle, NULL, 0 ); wine_dlclose( libssl_handle, NULL, 0 );
} }
if (ssl_locks)
{
int i;
for (i = 0; i < num_ssl_locks; i++) DeleteCriticalSection( &ssl_locks[i] );
HeapFree( GetProcessHeap(), 0, ssl_locks );
}
#endif #endif
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment