diff options
-rw-r--r-- | src/lib/libssl/src/ssl/t1_lib.c | 5 | ||||
-rw-r--r-- | src/lib/libssl/t1_lib.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/libssl/src/ssl/t1_lib.c b/src/lib/libssl/src/ssl/t1_lib.c index 0ea9ce752d..99298c1791 100644 --- a/src/lib/libssl/src/ssl/t1_lib.c +++ b/src/lib/libssl/src/ssl/t1_lib.c | |||
@@ -2133,8 +2133,11 @@ tls_decrypt_ticket(SSL *s, const unsigned char *etick, int eticklen, | |||
2133 | return -1; | 2133 | return -1; |
2134 | } | 2134 | } |
2135 | EVP_DecryptUpdate(&ctx, sdec, &slen, p, eticklen); | 2135 | EVP_DecryptUpdate(&ctx, sdec, &slen, p, eticklen); |
2136 | if (EVP_DecryptFinal(&ctx, sdec + slen, &mlen) <= 0) | 2136 | if (EVP_DecryptFinal(&ctx, sdec + slen, &mlen) <= 0) { |
2137 | free(sdec); | ||
2138 | EVP_CIPHER_CTX_cleanup(&ctx); | ||
2137 | return 2; | 2139 | return 2; |
2140 | } | ||
2138 | slen += mlen; | 2141 | slen += mlen; |
2139 | EVP_CIPHER_CTX_cleanup(&ctx); | 2142 | EVP_CIPHER_CTX_cleanup(&ctx); |
2140 | p = sdec; | 2143 | p = sdec; |
diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c index 0ea9ce752d..99298c1791 100644 --- a/src/lib/libssl/t1_lib.c +++ b/src/lib/libssl/t1_lib.c | |||
@@ -2133,8 +2133,11 @@ tls_decrypt_ticket(SSL *s, const unsigned char *etick, int eticklen, | |||
2133 | return -1; | 2133 | return -1; |
2134 | } | 2134 | } |
2135 | EVP_DecryptUpdate(&ctx, sdec, &slen, p, eticklen); | 2135 | EVP_DecryptUpdate(&ctx, sdec, &slen, p, eticklen); |
2136 | if (EVP_DecryptFinal(&ctx, sdec + slen, &mlen) <= 0) | 2136 | if (EVP_DecryptFinal(&ctx, sdec + slen, &mlen) <= 0) { |
2137 | free(sdec); | ||
2138 | EVP_CIPHER_CTX_cleanup(&ctx); | ||
2137 | return 2; | 2139 | return 2; |
2140 | } | ||
2138 | slen += mlen; | 2141 | slen += mlen; |
2139 | EVP_CIPHER_CTX_cleanup(&ctx); | 2142 | EVP_CIPHER_CTX_cleanup(&ctx); |
2140 | p = sdec; | 2143 | p = sdec; |