From 6ab8ecb0024a7b4cc686f2ede35e04eae50e3ecf Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Thu, 14 Jul 2011 11:28:32 +0200 Subject: 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 Reviewed-by: Markus Goetz --- src/network/ssl/qsslsocket_openssl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 84e5200043..11b2ff8bcd 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -1525,7 +1525,7 @@ QList QSslSocketBackendPrivate::verify(QList 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 QSslSocketBackendPrivate::verify(QList certifi const QList > errorList = _q_sslErrorList()->errors; _q_sslErrorList()->errors.clear(); - _q_sslErrorList()->mutex.unlock(); + sslErrorListMutexLocker.unlock(); // Translate the errors if (QSslCertificatePrivate::isBlacklisted(certificateChain[0])) { -- cgit v1.2.3