From 5d25d553ec8b48101eaeb2cce536ae22ad0d281a Mon Sep 17 00:00:00 2001 From: "Constantin P." <papizh.konstantin@demlabs.net> Date: Mon, 29 Jul 2024 09:54:52 +0000 Subject: [PATCH] Hotfix 12492 2 --- crypto/src/dap_cert.c | 11 +++++------ crypto/src/dap_enc_key.c | 3 ++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/crypto/src/dap_cert.c b/crypto/src/dap_cert.c index b16588a25..cdcfbbcdd 100755 --- a/crypto/src/dap_cert.c +++ b/crypto/src/dap_cert.c @@ -505,6 +505,7 @@ int dap_cert_get_pkey_hash(dap_cert_t *a_cert, dap_hash_fast_t *a_out_hash) if (!l_pub_key || !l_pub_key_size) return -2; dap_hash_fast(l_pub_key, l_pub_key_size, a_out_hash); + DAP_DELETE(l_pub_key); return 0; } @@ -519,17 +520,15 @@ int dap_cert_compare_with_sign (dap_cert_t *a_cert,const dap_sign_t *a_sign) { dap_return_val_if_pass(!a_cert || !a_cert->enc_key || !a_sign, -4); if ( dap_sign_type_from_key_type( a_cert->enc_key->type ).type == a_sign->header.type.type ){ - int l_ret; size_t l_pub_key_size = 0; // serialize public key uint8_t *l_pub_key = dap_enc_key_serialize_pub_key(a_cert->enc_key, &l_pub_key_size); - if ( l_pub_key_size == a_sign->header.sign_pkey_size){ - l_ret = memcmp ( l_pub_key, a_sign->pkey_n_sign, a_sign->header.sign_pkey_size ); - }else - l_ret = -2; // Wrong pkey size + int l_ret = l_pub_key_size == a_sign->header.sign_pkey_size + ? memcmp(l_pub_key, a_sign->pkey_n_sign, a_sign->header.sign_pkey_size) + : -2; DAP_DELETE(l_pub_key); return l_ret; - }else + } else return -3; // Wrong sign type } diff --git a/crypto/src/dap_enc_key.c b/crypto/src/dap_enc_key.c index caa82379e..8b8eb7f4b 100755 --- a/crypto/src/dap_enc_key.c +++ b/crypto/src/dap_enc_key.c @@ -876,7 +876,8 @@ uint8_t *dap_enc_key_serialize(dap_enc_key_t *a_key, size_t *a_buflen) // out work DAP_DEL_MULTY(l_ser_skey, l_ser_pkey); - a_buflen ? *a_buflen = l_buflen : 0; + if (a_buflen) + *a_buflen = l_buflen; return l_ret; } -- GitLab