Commit 925e4fba10 for openssl.org

commit 925e4fba1098036e8f8d22652cff6f64c5c7d571
Author: rodeka <rodeka.core@ya.ru>
Date:   Tue Sep 16 20:38:17 2025 +0300

    crypto/ml_dsa: fix public_from_private() error path to return failure

    The error label returned success (1) even on failure. Make it return failure (0) instead.
    Fixes #28562

    CLA: trivial

    Reviewed-by: Todd Short <todd.short@me.com>
    Reviewed-by: Paul Dale <ppzgs1@gmail.com>
    (Merged from https://github.com/openssl/openssl/pull/28576)

diff --git a/crypto/ml_dsa/ml_dsa_key.c b/crypto/ml_dsa/ml_dsa_key.c
index e2cb399098..94f906a9fc 100644
--- a/crypto/ml_dsa/ml_dsa_key.c
+++ b/crypto/ml_dsa/ml_dsa_key.c
@@ -319,6 +319,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 = (uint32_t)params->k, l = (uint32_t)params->l;
     POLY *polys;
@@ -351,9 +352,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)