From 3c572b0f7a1d5eeda5654ed9a2a7aef0e644c2ca Mon Sep 17 00:00:00 2001 From: Zach Fox Date: Mon, 16 Oct 2017 13:41:39 -0700 Subject: [PATCH] Fix deadlock --- libraries/entities/src/EntityTree.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/libraries/entities/src/EntityTree.cpp b/libraries/entities/src/EntityTree.cpp index 5bd56eba50..6ccff83fb4 100644 --- a/libraries/entities/src/EntityTree.cpp +++ b/libraries/entities/src/EntityTree.cpp @@ -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) {