mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-13 07:43:50 -05:00
ITS#10224 libldap: check for OpenSSL EVP_Digest* failure
This commit is contained in:
parent
4dfe057b58
commit
1fc09713b1
1 changed files with 8 additions and 4 deletions
|
|
@ -1194,15 +1194,19 @@ tlso_session_pinning( LDAP *ld, tls_session *sess, char *hashalg, struct berval
|
|||
goto done;
|
||||
}
|
||||
|
||||
EVP_DigestInit_ex( mdctx, md, NULL );
|
||||
EVP_DigestUpdate( mdctx, key.bv_val, key.bv_len );
|
||||
EVP_DigestFinal_ex( mdctx, (unsigned char *)keyhash.bv_val, &len );
|
||||
keyhash.bv_len = len;
|
||||
if ( EVP_DigestInit_ex( mdctx, md, NULL ) &&
|
||||
EVP_DigestUpdate( mdctx, key.bv_val, key.bv_len ) &&
|
||||
EVP_DigestFinal_ex( mdctx, (unsigned char *)keyhash.bv_val, &len ))
|
||||
keyhash.bv_len = len;
|
||||
else
|
||||
rc = -1;
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10100000
|
||||
EVP_MD_CTX_free( mdctx );
|
||||
#else
|
||||
EVP_MD_CTX_destroy( mdctx );
|
||||
#endif
|
||||
if ( rc )
|
||||
goto done;
|
||||
} else {
|
||||
keyhash = key;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue