summaryrefslogtreecommitdiff
path: root/ACE/ace/SSL
diff options
context:
space:
mode:
authorXianda Wang <wxianda@gmail.com>2020-08-06 14:35:30 +0800
committerLike Ma <likemartinma@gmail.com>2020-08-12 20:06:08 +0800
commit95b82661ac2d9438f012494472ed42d73591af1a (patch)
treed404f082498586a49940864595d97a6271468419 /ACE/ace/SSL
parented385706374786ee45bdc220c52d6e56869e2992 (diff)
downloadATCD-95b82661ac2d9438f012494472ed42d73591af1a.tar.gz
Avoid crash when SSL not initialized correctly.
Diffstat (limited to 'ACE/ace/SSL')
-rw-r--r--ACE/ace/SSL/SSL_Context.inl7
-rw-r--r--ACE/ace/SSL/SSL_SOCK_Connector.cpp2
2 files changed, 7 insertions, 2 deletions
diff --git a/ACE/ace/SSL/SSL_Context.inl b/ACE/ace/SSL/SSL_Context.inl
index d7ccb88d7ee..f95beb88e0f 100644
--- a/ACE/ace/SSL/SSL_Context.inl
+++ b/ACE/ace/SSL/SSL_Context.inl
@@ -37,8 +37,11 @@ ACE_SSL_Context::check_context (void)
this->set_mode ();
}
- ::SSL_CTX_set_verify (this->context_, this->default_verify_mode (),
- this->default_verify_callback ());
+ if (this->context_ != 0)
+ {
+ ::SSL_CTX_set_verify (this->context_, this->default_verify_mode (),
+ this->default_verify_callback ());
+ }
}
ACE_INLINE SSL_CTX *
diff --git a/ACE/ace/SSL/SSL_SOCK_Connector.cpp b/ACE/ace/SSL/SSL_SOCK_Connector.cpp
index 45df4ef0404..25a32629b21 100644
--- a/ACE/ace/SSL/SSL_SOCK_Connector.cpp
+++ b/ACE/ace/SSL/SSL_SOCK_Connector.cpp
@@ -28,6 +28,8 @@ ACE_SSL_SOCK_Connector::ssl_connect (ACE_SSL_SOCK_Stream &new_stream,
const ACE_Time_Value *timeout)
{
SSL *ssl = new_stream.ssl ();
+ if (ssl == 0)
+ return -1;
if (SSL_is_init_finished (ssl))
return 0;