summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s3_lib.c
diff options
context:
space:
mode:
authorjsing <>2022-11-10 18:06:37 +0000
committerjsing <>2022-11-10 18:06:37 +0000
commit3fbacf810de490214fc4dba0b34a532906eadfac (patch)
tree1c172cf5ae25ab26fa6f64cb114505e1bfcc1267 /src/lib/libssl/s3_lib.c
parent67d2b90781cde981c11f7630740bca9847e85165 (diff)
downloadopenbsd-3fbacf810de490214fc4dba0b34a532906eadfac.tar.gz
openbsd-3fbacf810de490214fc4dba0b34a532906eadfac.tar.bz2
openbsd-3fbacf810de490214fc4dba0b34a532906eadfac.zip
Use tls_buffer for alert and handshake fragments in the legacy stack.
This avoids a bunch of pointer munging and a handrolled memmove. ok tb@
Diffstat (limited to '')
-rw-r--r--src/lib/libssl/s3_lib.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c
index 52ad16a697..68c6fc6324 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.239 2022/10/02 16:36:41 jsing Exp $ */ 1/* $OpenBSD: s3_lib.c,v 1.240 2022/11/10 18:06:37 jsing 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 *
@@ -1560,6 +1560,9 @@ ssl3_free(SSL *s)
1560 ssl3_release_read_buffer(s); 1560 ssl3_release_read_buffer(s);
1561 ssl3_release_write_buffer(s); 1561 ssl3_release_write_buffer(s);
1562 1562
1563 tls_buffer_free(s->s3->alert_fragment);
1564 tls_buffer_free(s->s3->handshake_fragment);
1565
1563 freezero(s->s3->hs.sigalgs, s->s3->hs.sigalgs_len); 1566 freezero(s->s3->hs.sigalgs, s->s3->hs.sigalgs_len);
1564 sk_X509_pop_free(s->s3->hs.peer_certs, X509_free); 1567 sk_X509_pop_free(s->s3->hs.peer_certs, X509_free);
1565 sk_X509_pop_free(s->s3->hs.peer_certs_no_leaf, X509_free); 1568 sk_X509_pop_free(s->s3->hs.peer_certs_no_leaf, X509_free);
@@ -1598,6 +1601,11 @@ ssl3_clear(SSL *s)
1598 sk_X509_pop_free(s->verified_chain, X509_free); 1601 sk_X509_pop_free(s->verified_chain, X509_free);
1599 s->verified_chain = NULL; 1602 s->verified_chain = NULL;
1600 1603
1604 tls_buffer_free(s->s3->alert_fragment);
1605 s->s3->alert_fragment = NULL;
1606 tls_buffer_free(s->s3->handshake_fragment);
1607 s->s3->handshake_fragment = NULL;
1608
1601 freezero(s->s3->hs.sigalgs, s->s3->hs.sigalgs_len); 1609 freezero(s->s3->hs.sigalgs, s->s3->hs.sigalgs_len);
1602 s->s3->hs.sigalgs = NULL; 1610 s->s3->hs.sigalgs = NULL;
1603 s->s3->hs.sigalgs_len = 0; 1611 s->s3->hs.sigalgs_len = 0;