diff --git a/src/keys/drivers/YubiKey.cpp b/src/keys/drivers/YubiKey.cpp index 884be354b..b4aa82205 100644 --- a/src/keys/drivers/YubiKey.cpp +++ b/src/keys/drivers/YubiKey.cpp @@ -77,6 +77,7 @@ bool YubiKey::init() // TODO: handle multiple attached hardware devices m_yk_void = static_cast(yk_open_first_key()); if (m_yk == nullptr) { + yk_release(); m_mutex.unlock(); return false; } @@ -85,6 +86,7 @@ bool YubiKey::init() if (m_ykds == nullptr) { yk_close_key(m_yk); m_yk_void = nullptr; + yk_release(); m_mutex.unlock(); return false; } @@ -107,6 +109,8 @@ bool YubiKey::deinit() m_ykds_void = nullptr; } + yk_release(); + m_mutex.unlock(); return true;