From cc27a367d6c161d563ee63568578cd50debb77d5 Mon Sep 17 00:00:00 2001 From: Jonathan White Date: Fri, 12 Apr 2019 13:55:28 -0400 Subject: [PATCH] Only remove keys on exit if they would remove on lock (#2985) * Don't remove keys on app exit that would not be removed due to database locking. * Restores behavior from 2.3.4 * Fixes #2980 --- src/sshagent/SSHAgent.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/sshagent/SSHAgent.cpp b/src/sshagent/SSHAgent.cpp index 033c7233..ac25a706 100644 --- a/src/sshagent/SSHAgent.cpp +++ b/src/sshagent/SSHAgent.cpp @@ -45,8 +45,11 @@ SSHAgent::~SSHAgent() { auto it = m_addedKeys.begin(); while (it != m_addedKeys.end()) { - OpenSSHKey key = it.key(); - removeIdentity(key); + // Remove key if requested to remove on lock + if (it.value()) { + OpenSSHKey key = it.key(); + removeIdentity(key); + } it = m_addedKeys.erase(it); } }