]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
crypto/slh_dsa/slh_hash.c: Add check for EVP_MD_get_size() master
authorJiasheng Jiang <jiashengjiangcool@gmail.com>
Thu, 26 Jun 2025 00:58:51 +0000 (00:58 +0000)
committerTomas Mraz <tomas@openssl.org>
Mon, 7 Jul 2025 14:20:31 +0000 (16:20 +0200)
Add the check for the return value of EVP_MD_get_size() to avoid invalid size.

Fixes: 2f9e152d86 ("Add SLH_DSA signature verification.")
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Paul Yang <paulyang.inf@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/27900)

crypto/slh_dsa/slh_hash.c

index 9f41f1cf207a84b26a153d3c1e7eb2a67cdbaff2..979d81e79734ae49fb80b12afa0a76fc54b70201 100644 (file)
@@ -158,6 +158,9 @@ slh_hmsg_sha2(SLH_DSA_HASH_CTX *hctx, const uint8_t *r, const uint8_t *pk_seed,
     int sz = EVP_MD_get_size(hctx->key->md_big);
     size_t seed_len = (size_t)sz + 2 * n;
 
+    if (sz <= 0)
+        return 0;
+
     memcpy(seed, r, n);
     memcpy(seed + n, pk_seed, n);
     return digest_4(hctx->md_big_ctx, r, n, pk_seed, n, pk_root, n, msg, msg_len,