From: Doug MacEachern Date: Thu, 17 Jan 2002 04:03:09 +0000 (+0000) Subject: prevent possible segv if SSL_get_current_cipher() returns NULL in X-Git-Tag: 2.0.31~178 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f3fecbde9faa9c49d57e6ebdd460652a7f919ad5;p=apache prevent possible segv if SSL_get_current_cipher() returns NULL in ssl_var_lookup_ssl_cipher() git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92883 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ssl/ssl_engine_vars.c b/modules/ssl/ssl_engine_vars.c index 3c5934f554..17b5e82653 100644 --- a/modules/ssl/ssl_engine_vars.c +++ b/modules/ssl/ssl_engine_vars.c @@ -552,8 +552,10 @@ static char *ssl_var_lookup_ssl_cipher(apr_pool_t *p, conn_rec *c, char *var) ssl = sslconn->ssl; ssl_var_lookup_ssl_cipher_bits(ssl, &usekeysize, &algkeysize); - if (strEQ(var, "")) - result = (ssl != NULL ? (char *)SSL_get_cipher_name(ssl) : NULL); + if (ssl && strEQ(var, "")) { + SSL_CIPHER *cipher = SSL_get_current_cipher(ssl); + result = (cipher != NULL ? (char *)SSL_CIPHER_get_name(cipher) : NULL); + } else if (strcEQ(var, "_EXPORT")) result = (usekeysize < 56 ? "true" : "false"); else if (strcEQ(var, "_USEKEYSIZE")) {