From 38a5b5a342cf7963bef1c9beac77179c63917c20 Mon Sep 17 00:00:00 2001 From: Ying Li Date: Wed, 11 Nov 2015 16:37:58 -0800 Subject: [PATCH] Add FindObjectsFinalize to getNextEmptySlot. Signed-off-by: Ying Li Signed-off-by: David Lawrence Signed-off-by: Ying Li (github: endophage) --- trustmanager/yubikey/yubikeystore.go | 4 ++++ trustmanager/yubikey/yubikeystore_test.go | 2 ++ 2 files changed, 6 insertions(+) diff --git a/trustmanager/yubikey/yubikeystore.go b/trustmanager/yubikey/yubikeystore.go index 1f3a31e579..c7c54d03bd 100644 --- a/trustmanager/yubikey/yubikeystore.go +++ b/trustmanager/yubikey/yubikeystore.go @@ -545,6 +545,10 @@ func getNextEmptySlot(ctx IPKCS11Ctx, session pkcs11.SessionHandle) ([]byte, err logrus.Debugf("Failed to find: %s %v", err.Error(), b) return nil, err } + if err = ctx.FindObjectsFinal(session); err != nil { + logrus.Debugf("Failed to finalize: %s\n", err.Error()) + return nil, err + } for _, obj := range objs { // Retrieve the slot ID attr, err := ctx.GetAttributeValue(session, obj, attrTemplate) diff --git a/trustmanager/yubikey/yubikeystore_test.go b/trustmanager/yubikey/yubikeystore_test.go index 70034561b0..3cd151737b 100644 --- a/trustmanager/yubikey/yubikeystore_test.go +++ b/trustmanager/yubikey/yubikeystore_test.go @@ -532,6 +532,7 @@ func TestYubiAddKeyCleansUpOnError(t *testing.T) { setupErrors, "FindObjectsInit", "FindObjects", + "FindObjectsFinal", "CreateObject", ), true) @@ -629,6 +630,7 @@ func TestYubiImportKeyCleansUpOnError(t *testing.T) { setupErrors, "FindObjectsInit", "FindObjects", + "FindObjectsFinal", "CreateObject", ), true)