]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Use CRYPTO_memcmp() when comparing the private keys
authorTomas Mraz <tomas@openssl.foundation>
Tue, 12 May 2026 12:39:06 +0000 (14:39 +0200)
committerNorbert Pocs <norbertp@openssl.org>
Thu, 14 May 2026 09:29:09 +0000 (11:29 +0200)
ML-DSA and SLH-DSA used regular memcmp, use CRYPTO_memcmp()
just in case.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
MergeDate: Thu May 14 09:29:14 2026
(Merged from https://github.com/openssl/openssl/pull/31155)

crypto/ml_dsa/ml_dsa_key.c
crypto/slh_dsa/slh_dsa_key.c

index 24fa7596e2f77c55f961b44d6e7615e7cffe588d..6b5b8b092fbf9d2af101c9b4ce36e5abc6332fa4 100644 (file)
@@ -293,7 +293,7 @@ int ossl_ml_dsa_key_equal(const ML_DSA_KEY *key1, const ML_DSA_KEY *key2,
         if (!key_checked
             && (selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0) {
             if (key1->priv_encoding != NULL && key2->priv_encoding != NULL) {
-                if (memcmp(key1->priv_encoding, key2->priv_encoding,
+                if (CRYPTO_memcmp(key1->priv_encoding, key2->priv_encoding,
                         key1->params->sk_len)
                     != 0)
                     return 0;
index 8401fd6283b514a0ce8d4b0c30bc2fc3eb8e423a..2ac0b4d589e92cb4c511616ba15bc006b5cb6f48 100644 (file)
@@ -202,7 +202,7 @@ int ossl_slh_dsa_key_equal(const SLH_DSA_KEY *key1, const SLH_DSA_KEY *key2,
         if (!key_checked
             && (selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0) {
             if (key1->has_priv && key2->has_priv) {
-                if (memcmp(key1->priv, key2->priv,
+                if (CRYPTO_memcmp(key1->priv, key2->priv,
                         key1->params->pk_len)
                     != 0)
                     return 0;