STORM-1546 Crash in LLSecAPIBasicHandler::getCertificateStore
Review Request #435 - Created Aug. 9, 2011 and submitted
Vadim ProductEngine | Reviewers | ||
viewer | |||
STORM-1546 | davep | ||
None | viewer-development |
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.
Other reviews