From fa0c23de83efaf92da17cffce12444adbca48c89 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Fri, 27 Nov 2015 14:10:15 +0100 Subject: Adapt HMAC to the EVP_MD_CTX changes This change required some special treatment, as HMAC is intertwined with EVP_MD. For now, all local HMAC_CTX variables MUST be initialised with HMAC_CTX_EMPTY, or whatever happens to be on the stack will be mistaken for actual pointers to EVP_MD_CTX. This will change as soon as HMAC_CTX becomes opaque. Also, since HMAC_CTX_init() can fail now, its return type changes from void to int, and it will return 0 on failure, 1 on success. Reviewed-by: Rich Salz --- ssl/t1_lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ssl/t1_lib.c') diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 971aad381a..622bdd9833 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -3041,7 +3041,7 @@ static int tls_decrypt_ticket(SSL *s, const unsigned char *etick, const unsigned char *p; int slen, mlen, renew_ticket = 0; unsigned char tick_hmac[EVP_MAX_MD_SIZE]; - HMAC_CTX hctx; + HMAC_CTX hctx = HMAC_CTX_EMPTY; EVP_CIPHER_CTX ctx; SSL_CTX *tctx = s->initial_ctx; /* Need at least keyname + iv + some encrypted data */ -- cgit v1.2.3