diff options
Diffstat (limited to 'crypto/hmac/hm_pmeth.c')
-rw-r--r-- | crypto/hmac/hm_pmeth.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/hmac/hm_pmeth.c b/crypto/hmac/hm_pmeth.c index aff7013b76..985921ca1a 100644 --- a/crypto/hmac/hm_pmeth.c +++ b/crypto/hmac/hm_pmeth.c @@ -157,7 +157,11 @@ static int hmac_signctx(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, { unsigned int hlen; HMAC_PKEY_CTX *hctx = ctx->data; - *siglen = EVP_MD_CTX_size(mctx); + int l = EVP_MD_CTX_size(mctx); + + if (l < 0) + return 0; + *siglen = l; if (!sig) return 1; |