On Tue, 20 Nov 2007, Gerrit E.G. Hobbelt wrote:

> Situation:
> 
> - Win32 [release or] debug build (yep, I use MSVC2005 project files, NOT 
> the makefile, but that does not make any real difference here)
> - link to the DLL version of the OpenSSL library (0.9.9 tested, will 
> VERY probably happen with other versions too, as long as you use OpenSSL 
> DLLs!)
> 
> The crash is caused because the termination code for the OpenSSL DLLs 
> will call the lock callback again AFTER the pSslMtxs[] array has been 
> free()d already and thus invalidated.
> A double fix is in order: NULL the free()d pointer AND make sure the 
> lock callback only accesses that data when it IS initialized. No harm 
> done as the exit code is single threaded anyway.

This should/must not happen. This is thr XMail exit path, and we are 
shutting down SSL before, and unless there's still some other lingering 
threads (that we try to wait for in any case), SSL is done at that point. 
And if it's not done, we're releasing the whole SSL memory in 
BSslFreeOSSL() a few step above, so the lingering threads *will* crash in 
any case.



- Davide


-
To unsubscribe from this list: send the line "unsubscribe xmail" in
the body of a message to [EMAIL PROTECTED]
For general help: send the line "help" in the body of a message to
[EMAIL PROTECTED]

Reply via email to