Index: openssl/ssl/ssl_lib.c |
diff --git a/openssl/ssl/ssl_lib.c b/openssl/ssl/ssl_lib.c |
index 92e2cf3eb444f93d1b0d54d94b72673e8ff712d7..45a76ae70f60173799b4d1bedc76aa63a793bf39 100644 |
--- a/openssl/ssl/ssl_lib.c |
+++ b/openssl/ssl/ssl_lib.c |
@@ -2836,6 +2836,18 @@ void ssl_clear_cipher_ctx(SSL *s) |
OPENSSL_free(s->enc_write_ctx); |
s->enc_write_ctx=NULL; |
} |
+ if (s->aead_read_ctx != NULL) |
+ { |
+ EVP_AEAD_CTX_cleanup(&s->aead_read_ctx->ctx); |
+ OPENSSL_free(s->aead_read_ctx); |
+ s->aead_read_ctx = NULL; |
+ } |
+ if (s->aead_write_ctx != NULL) |
+ { |
+ EVP_AEAD_CTX_cleanup(&s->aead_write_ctx->ctx); |
+ OPENSSL_free(s->aead_write_ctx); |
+ s->aead_write_ctx = NULL; |
+ } |
#ifndef OPENSSL_NO_COMP |
if (s->expand != NULL) |
{ |