aboutsummaryrefslogtreecommitdiff
path: root/crypto/ml_dsa/ml_dsa_key.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/ml_dsa/ml_dsa_key.c')
-rw-r--r--crypto/ml_dsa/ml_dsa_key.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/ml_dsa/ml_dsa_key.c b/crypto/ml_dsa/ml_dsa_key.c
index 41df1a956fb8..50e3b5433085 100644
--- a/crypto/ml_dsa/ml_dsa_key.c
+++ b/crypto/ml_dsa/ml_dsa_key.c
@@ -311,6 +311,7 @@ int ossl_ml_dsa_key_has(const ML_DSA_KEY *key, int selection)
static int public_from_private(const ML_DSA_KEY *key, EVP_MD_CTX *md_ctx,
VECTOR *t1, VECTOR *t0)
{
+ int ret = 0;
const ML_DSA_PARAMS *params = key->params;
uint32_t k = params->k, l = params->l;
POLY *polys;
@@ -343,9 +344,10 @@ static int public_from_private(const ML_DSA_KEY *key, EVP_MD_CTX *md_ctx,
/* Zeroize secret */
vector_zero(&s1_ntt);
+ ret = 1;
err:
OPENSSL_free(polys);
- return 1;
+ return ret;
}
int ossl_ml_dsa_key_public_from_private(ML_DSA_KEY *key)