openssl.c: Fixes comparsion between signed and unsigned
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5036 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
be3e50aa96
commit
1b7585480c
|
@ -279,15 +279,16 @@ static CK_RV sc_pkcs11_openssl_md_update(sc_pkcs11_operation_t *op,
|
|||
static CK_RV sc_pkcs11_openssl_md_final(sc_pkcs11_operation_t *op,
|
||||
CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)
|
||||
{
|
||||
EVP_MD_CTX *md_ctx = DIGEST_CTX(op);
|
||||
unsigned int len = *pulDigestLen;
|
||||
EVP_MD_CTX *md_ctx = DIGEST_CTX(op);
|
||||
|
||||
if (len < EVP_MD_CTX_size(md_ctx)) {
|
||||
if (*pulDigestLen < (unsigned) EVP_MD_CTX_size(md_ctx)) {
|
||||
sc_debug(context, SC_LOG_DEBUG_NORMAL, "Provided buffer too small: %ul < %d",
|
||||
*pulDigestLen, EVP_MD_CTX_size(md_ctx));
|
||||
*pulDigestLen = EVP_MD_CTX_size(md_ctx);
|
||||
return CKR_BUFFER_TOO_SMALL;
|
||||
}
|
||||
EVP_DigestFinal(md_ctx, pDigest, &len);
|
||||
*pulDigestLen = len;
|
||||
|
||||
EVP_DigestFinal(md_ctx, pDigest, (unsigned *) pulDigestLen);
|
||||
|
||||
return CKR_OK;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue