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)