This is an automated email from the ASF dual-hosted git repository. zwoop pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git
commit d18538b232131e83066b46c830ce707ad78ce6c8 Author: Susan Hinrichs <shinr...@verizonmedia.com> AuthorDate: Fri Mar 13 18:45:32 2020 +0000 Fix SDK_API_TSSslServerContextCreate (cherry picked from commit 3808b31d3c679d4490d144383ae6df70a75fd150) --- iocore/net/SSLUtils.cc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/iocore/net/SSLUtils.cc b/iocore/net/SSLUtils.cc index 6b3774d..ffc6e8a 100644 --- a/iocore/net/SSLUtils.cc +++ b/iocore/net/SSLUtils.cc @@ -1917,16 +1917,18 @@ SSLMultiCertConfigLoader::load_certs_and_cross_reference_names(std::vector<X509 std::set<std::string> &common_names, std::unordered_map<int, std::set<std::string>> &unique_names) { - SimpleTokenizer cert_tok(sslMultCertSettings->cert ? (const char *)sslMultCertSettings->cert : "", SSL_CERT_SEPARATE_DELIM); - SimpleTokenizer key_tok((sslMultCertSettings->key ? (const char *)sslMultCertSettings->key : ""), SSL_CERT_SEPARATE_DELIM); + SimpleTokenizer cert_tok(sslMultCertSettings && sslMultCertSettings->cert ? (const char *)sslMultCertSettings->cert : "", + SSL_CERT_SEPARATE_DELIM); + SimpleTokenizer key_tok((sslMultCertSettings && sslMultCertSettings->key ? (const char *)sslMultCertSettings->key : ""), + SSL_CERT_SEPARATE_DELIM); - if (sslMultCertSettings->key && cert_tok.getNumTokensRemaining() != key_tok.getNumTokensRemaining()) { + if (sslMultCertSettings && sslMultCertSettings->key && cert_tok.getNumTokensRemaining() != key_tok.getNumTokensRemaining()) { Error("the number of certificates in ssl_cert_name and ssl_key_name doesn't match"); return false; } SimpleTokenizer ca_tok("", SSL_CERT_SEPARATE_DELIM); - if (sslMultCertSettings->ca) { + if (sslMultCertSettings && sslMultCertSettings->ca) { ca_tok.setString(sslMultCertSettings->ca); if (cert_tok.getNumTokensRemaining() != ca_tok.getNumTokensRemaining()) { Error("the number of certificates in ssl_cert_name and ssl_ca_name doesn't match"); @@ -1935,7 +1937,7 @@ SSLMultiCertConfigLoader::load_certs_and_cross_reference_names(std::vector<X509 } SimpleTokenizer ocsp_tok("", SSL_CERT_SEPARATE_DELIM); - if (sslMultCertSettings->ocsp_response) { + if (sslMultCertSettings && sslMultCertSettings->ocsp_response) { ocsp_tok.setString(sslMultCertSettings->ocsp_response); if (cert_tok.getNumTokensRemaining() != ocsp_tok.getNumTokensRemaining()) { Error("the number of certificates in ssl_cert_name and ssl_ocsp_name doesn't match");