summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeck <>2021-10-24 09:15:00 +0000
committerbeck <>2021-10-24 09:15:00 +0000
commit9059b593fa5fd68624bb685dd770051e01a34bd5 (patch)
tree2fb3da965b31b32f987d58bc71041f507e605a75 /src
parent60967ccf50764d2c4a71fe0a183c78a0e8a931d7 (diff)
downloadopenbsd-9059b593fa5fd68624bb685dd770051e01a34bd5.tar.gz
openbsd-9059b593fa5fd68624bb685dd770051e01a34bd5.tar.bz2
openbsd-9059b593fa5fd68624bb685dd770051e01a34bd5.zip
Don't leak internal->verfied_chain, clean it up in ssl3_clear and free.
spotted by and ok jsing@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/s3_lib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c
index e78b70f0d8..8a96a2cdef 100644
--- a/src/lib/libssl/s3_lib.c
+++ b/src/lib/libssl/s3_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s3_lib.c,v 1.215 2021/09/08 12:56:14 tb Exp $ */ 1/* $OpenBSD: s3_lib.c,v 1.216 2021/10/24 09:15:00 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1574,6 +1574,7 @@ ssl3_free(SSL *s)
1574 tls13_clienthello_hash_clear(&S3I(s)->hs.tls13); 1574 tls13_clienthello_hash_clear(&S3I(s)->hs.tls13);
1575 1575
1576 sk_X509_NAME_pop_free(S3I(s)->hs.tls12.ca_names, X509_NAME_free); 1576 sk_X509_NAME_pop_free(S3I(s)->hs.tls12.ca_names, X509_NAME_free);
1577 sk_X509_pop_free(s->internal->verified_chain, X509_free);
1577 1578
1578 tls1_transcript_free(s); 1579 tls1_transcript_free(s);
1579 tls1_transcript_hash_free(s); 1580 tls1_transcript_hash_free(s);
@@ -1595,6 +1596,8 @@ ssl3_clear(SSL *s)
1595 1596
1596 tls1_cleanup_key_block(s); 1597 tls1_cleanup_key_block(s);
1597 sk_X509_NAME_pop_free(S3I(s)->hs.tls12.ca_names, X509_NAME_free); 1598 sk_X509_NAME_pop_free(S3I(s)->hs.tls12.ca_names, X509_NAME_free);
1599 sk_X509_pop_free(s->internal->verified_chain, X509_free);
1600 s->internal->verified_chain = NULL;
1598 1601
1599 DH_free(S3I(s)->tmp.dh); 1602 DH_free(S3I(s)->tmp.dh);
1600 S3I(s)->tmp.dh = NULL; 1603 S3I(s)->tmp.dh = NULL;