Fix deadlock

This commit is contained in:
Zach Fox 2017-10-16 13:41:39 -07:00
parent 960f1fbfe4
commit 3c572b0f7a

View file

@ -1191,11 +1191,17 @@ QByteArray EntityTree::computeEncryptedNonce(const QString& certID, const QStrin
bool EntityTree::verifyDecryptedNonce(const QString& certID, const QString& decryptedNonce) {
QReadLocker certIdMapLocker(&_entityCertificateIDMapLock);
EntityItemID id = _entityCertificateIDMap.value(certID);
EntityItemID id;
{
QReadLocker certIdMapLocker(&_entityCertificateIDMapLock);
id = _entityCertificateIDMap.value(certID);
}
QWriteLocker locker(&_certNonceMapLock);
QString actualNonce = _certNonceMap.take(certID).toString();
QString actualNonce;
{
QWriteLocker locker(&_certNonceMapLock);
actualNonce = _certNonceMap.take(certID).toString();
}
bool verificationSuccess = (actualNonce == decryptedNonce);
if (!verificationSuccess) {