[opensource-dev] Review Request: STORM-1546 Crash in LLSecAPIBasicHandler::getCertificateStore
Vadim ProductEngine
vsavchuk at productengine.com
Tue Aug 9 12:55:10 PDT 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://codereview.secondlife.com/r/435/
-----------------------------------------------------------
Review request for Viewer and David Parks.
Summary
-------
Fixed a crash caused by a race condition in LLRefCount.
Reason:
secapiSSLCertVerifyCallback() seems to be called simultaneously by multiple threads,
which causes a race condition in LLRefCount::ref/unref() methods.
The reference counter in LLSecAPIBasicHandler::mStore goes to zero, and the object gets destroyed.
Fix:
Derive LLCertificateStore from LLThreadSafeRefCount instead of LLRefCount,
which should fix the race condition.
Note:
The LLThreadSafeRefCount constructor is private, so we have to wrap instances of the class with LLPointer.
This addresses bug STORM-1546.
http://jira.secondlife.com/browse/STORM-1546
Diffs
-----
indra/newview/llsecapi.h 8f15e5a13e8f
indra/newview/llsechandler_basic.cpp 8f15e5a13e8f
Diff: http://codereview.secondlife.com/r/435/diff
Testing
-------
Thanks,
Vadim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20110809/8ede53e5/attachment.htm
More information about the opensource-dev
mailing list