[openssl-commits] [openssl] OpenSSL_1_1_0-stable update
Rich Salz
rsalz at openssl.org
Tue Mar 7 15:05:17 UTC 2017
The branch OpenSSL_1_1_0-stable has been updated
via 51800912006b2b09ed61607842fce8dbb2f44a9c (commit)
from c6e4fdbf8b44010ba12b72d519e437bbd2da71e6 (commit)
- Log -----------------------------------------------------------------
commit 51800912006b2b09ed61607842fce8dbb2f44a9c
Author: Rich Salz <rsalz at openssl.org>
Date: Thu Feb 16 11:13:47 2017 -0500
Get pointer type right in BIO_ssl_shutdown()
Also, restore 1.0.2 behavior of looping over all BIO's in the chain.
Thanks to Joseph Bester for finding this and suggesting a fix to the
crash.
Reviewed-by: Tim Hudson <tjh at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2651)
(cherry picked from commit 9015d34e141af747f7c750f8d08f862b2a8273c7)
-----------------------------------------------------------------------
Summary of changes:
ssl/bio_ssl.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/ssl/bio_ssl.c b/ssl/bio_ssl.c
index 3dd09cf..5322c03 100644
--- a/ssl/bio_ssl.c
+++ b/ssl/bio_ssl.c
@@ -517,12 +517,13 @@ int BIO_ssl_copy_session_id(BIO *t, BIO *f)
void BIO_ssl_shutdown(BIO *b)
{
- SSL *s;
-
- b = BIO_find_type(b, BIO_TYPE_SSL);
- if (b == NULL)
- return;
-
- s = BIO_get_data(b);
- SSL_shutdown(s);
+ BIO_SSL *bdata;
+
+ for (; b != NULL; b = BIO_next(b)) {
+ if (BIO_method_type(b) != BIO_TYPE_SSL)
+ continue;
+ bdata = BIO_get_data(b);
+ if (bdata != NULL && bdata->ssl != NULL)
+ SSL_shutdown(bdata->ssl);
+ }
}
More information about the openssl-commits
mailing list