[4/6] wininet: Clean up locks after closing libssl and libcrypto.

Paul Vriens paul.vriens.wine at gmail.com
Sun Feb 7 10:13:53 CST 2010


On 02/07/2010 04:56 PM, Paul Vriens wrote:
> On 02/07/2010 04:46 PM, Hans Leidekker wrote:
>> On Sunday 07 February 2010 16:24:11 Paul Vriens wrote:
>>
>>>> if (OpenSSL_ssl_handle)
>>>> @@ -305,6 +297,12 @@ void NETCON_unload(void)
>>>> pSSL_CTX_free(ctx);
>>>> wine_dlclose(OpenSSL_ssl_handle, NULL, 0);
>>>> }
>>>> + if (ssl_locks)
>>>> + {
>>>> + int i;
>>>> + for (i = 0; i< pCRYPTO_num_locks(); i++)
>>>> DeleteCriticalSection(&ssl_locks[i]);
>>>> + HeapFree(GetProcessHeap(), 0, ssl_locks);
>>>> + }
>>>> #endif
>>>> }
>>>>
>>> Hi Hans,
>>>
>>> I was checking a crash in an installer (the AkamaiDownloadManager to
>>> download CS4 for example) and it looks like we are accessing a ssl
>>> function CRYPTO_num_locks() after we've closed the library?
>>>
>>> Can you confirm this?
>>
>> Yes, looks like I fixed this in winhttp but forgot to send the same
>> patch for
>> wininet. Try this patch.
>>
>> -Hans
>
> Yup, crash is gone, thanks.
>

Forgot to include wine-devel.

-- 
Cheers,

Paul.



More information about the wine-devel mailing list