diff --git a/pglab/ConnectionController.cpp b/pglab/ConnectionController.cpp index 7824d3d..d0cf026 100644 --- a/pglab/ConnectionController.cpp +++ b/pglab/ConnectionController.cpp @@ -186,11 +186,18 @@ bool ConnectionController::retrieveConnectionPassword(ConnectionConfig &cc) bool ConnectionController::retrieveFromPasswordManager(const std::string &password_id, const std::string_view &enc_password, std::string &password) { - if (!UnlockPasswordManagerIfNeeded()) - return false; + try + { + if (!UnlockPasswordManagerIfNeeded()) + return false; - password = m_passwordManager->decrypt(password_id, enc_password); - return true; + password = m_passwordManager->decrypt(password_id, enc_password); + return true; + } + catch (const PasswordManagerException &ex) + { + return false; + } } bool ConnectionController::encryptPassword(ConnectionConfig &cc)