hmac: fix coverity 1484888 negative integer to size_t conversion

More theoretical than real but easy and cheap to check for.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/15300)
This commit is contained in:
Pauli 2021-05-17 09:45:33 +10:00
parent 84c5ad23e1
commit 678d0dba6c

View File

@ -221,10 +221,13 @@ unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
unsigned char *md, unsigned int *md_len)
{
static unsigned char static_md[EVP_MAX_MD_SIZE];
int size = EVP_MD_size(evp_md);
if (size < 0)
return NULL;
return EVP_Q_mac(NULL, "HMAC", NULL, EVP_MD_name(evp_md), NULL,
key, key_len, data, data_len,
md == NULL ? static_md : md, EVP_MD_size(evp_md), md_len);
md == NULL ? static_md : md, size, md_len);
}
void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags)