From 817523df72a539bdf14ab819b2442cbfa7af90a0 Mon Sep 17 00:00:00 2001 From: Mattia Moffa Date: Wed, 18 Feb 2026 03:52:47 +0100 Subject: [PATCH] Adjust execution flow --- wolfcrypt/src/wc_pkcs11.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/wolfcrypt/src/wc_pkcs11.c b/wolfcrypt/src/wc_pkcs11.c index 9b428ab692..de9d507ca5 100644 --- a/wolfcrypt/src/wc_pkcs11.c +++ b/wolfcrypt/src/wc_pkcs11.c @@ -4741,28 +4741,27 @@ int wc_Pkcs11_CryptoDevCb(int devId, wc_CryptoInfo* info, void* ctx) ret = NOT_COMPILED_IN; #endif } - else - ret = NOT_COMPILED_IN; - } -#ifdef WOLF_CRYPTO_CB_FREE - else if (info->algo_type == WC_ALGO_TYPE_FREE) { + else if (info->algo_type == WC_ALGO_TYPE_FREE) { #ifdef HAVE_ECC - if (info->free.algo == WC_ALGO_TYPE_PK && - info->free.type == WC_PK_TYPE_EC_KEYGEN) { - ecc_key* key = (ecc_key*)info->free.obj; - if (key != NULL && key->devCtx != NULL) { - if (token->handle != NULL_PTR) { - CK_OBJECT_HANDLE handle = - (CK_OBJECT_HANDLE)(uintptr_t)key->devCtx; - token->func->C_DestroyObject(token->handle, handle); + if (info->free.algo == WC_ALGO_TYPE_PK && + info->free.type == WC_PK_TYPE_EC_KEYGEN) { + ecc_key* key = (ecc_key*)info->free.obj; + if (key != NULL && key->devCtx != NULL) { + if (token->handle != NULL_PTR) { + CK_OBJECT_HANDLE handle = + (CK_OBJECT_HANDLE)(uintptr_t)key->devCtx; + token->func->C_DestroyObject(token->handle, handle); + } + key->devCtx = NULL; } - key->devCtx = NULL; + ret = 0; } - ret = 0; - } #endif + } + else { + ret = NOT_COMPILED_IN; + } } -#endif /* WOLF_CRYPTO_CB_FREE */ return ret; }