From fbca80bd7b1ac1af42f0063df0876a592e0a6bc8 Mon Sep 17 00:00:00 2001 From: Dave Coombs Date: Mon, 30 May 2022 13:40:24 -0400 Subject: [PATCH] Fix memory leak in SoftHSM::UnwrapKeySym. When using C_UnwrapKey with CKM_xxx_CBC_PAD, the unwrapping key and cipher objects were not being recycled on success. --- src/lib/SoftHSM.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/SoftHSM.cpp b/src/lib/SoftHSM.cpp index e80300e3..faa3bcbc 100644 --- a/src/lib/SoftHSM.cpp +++ b/src/lib/SoftHSM.cpp @@ -6812,9 +6812,10 @@ CK_RV SoftHSM::UnwrapKeySym CK_RV rv = CKR_OK; if (!cipher->unwrapKey(unwrappingkey, mode, wrapped, keydata)) rv = CKR_GENERAL_ERROR; - cipher->recycleKey(unwrappingkey); - CryptoFactory::i()->recycleSymmetricAlgorithm(cipher); } + + cipher->recycleKey(unwrappingkey); + CryptoFactory::i()->recycleSymmetricAlgorithm(cipher); return rv; }