SSL internals: certificate verification: use mutex locker
there are return statements between locking and unlocking, so to not leave the mutex locked when returning, this commit introduces a QMutexLocker. Change-Id: I74e2f329bf116e92250189bf097deb47d460d9dc Reviewed-on: http://codereview.qt.nokia.com/1656 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Markus Goetz
This commit is contained in:
parent
3b19eab45e
commit
6ab8ecb002
@ -1525,7 +1525,7 @@ QList<QSslError> QSslSocketBackendPrivate::verify(QList<QSslCertificate> certifi
|
||||
}
|
||||
}
|
||||
|
||||
_q_sslErrorList()->mutex.lock();
|
||||
QMutexLocker sslErrorListMutexLocker(&_q_sslErrorList()->mutex);
|
||||
|
||||
// Register a custom callback to get all verification errors.
|
||||
X509_STORE_set_verify_cb_func(certStore, q_X509Callback);
|
||||
@ -1585,7 +1585,7 @@ QList<QSslError> QSslSocketBackendPrivate::verify(QList<QSslCertificate> certifi
|
||||
const QList<QPair<int, int> > errorList = _q_sslErrorList()->errors;
|
||||
_q_sslErrorList()->errors.clear();
|
||||
|
||||
_q_sslErrorList()->mutex.unlock();
|
||||
sslErrorListMutexLocker.unlock();
|
||||
|
||||
// Translate the errors
|
||||
if (QSslCertificatePrivate::isBlacklisted(certificateChain[0])) {
|
||||
|
Loading…
Reference in New Issue
Block a user