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,
|
static CK_RV sc_pkcs11_openssl_md_final(sc_pkcs11_operation_t *op,
|
||||||
CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)
|
CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)
|
||||||
{
|
{
|
||||||
EVP_MD_CTX *md_ctx = DIGEST_CTX(op);
|
EVP_MD_CTX *md_ctx = DIGEST_CTX(op);
|
||||||
unsigned int len = *pulDigestLen;
|
|
||||||
|
|
||||||
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);
|
*pulDigestLen = EVP_MD_CTX_size(md_ctx);
|
||||||
return CKR_BUFFER_TOO_SMALL;
|
return CKR_BUFFER_TOO_SMALL;
|
||||||
}
|
}
|
||||||
EVP_DigestFinal(md_ctx, pDigest, &len);
|
|
||||||
*pulDigestLen = len;
|
EVP_DigestFinal(md_ctx, pDigest, (unsigned *) pulDigestLen);
|
||||||
|
|
||||||
return CKR_OK;
|
return CKR_OK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue