]> granicus.if.org Git - apache/commitdiff
prevent possible segv if SSL_get_current_cipher() returns NULL in
authorDoug MacEachern <dougm@apache.org>
Thu, 17 Jan 2002 04:03:09 +0000 (04:03 +0000)
committerDoug MacEachern <dougm@apache.org>
Thu, 17 Jan 2002 04:03:09 +0000 (04:03 +0000)
ssl_var_lookup_ssl_cipher()

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92883 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_engine_vars.c

index 3c5934f554ad4b7c997ceeefa18bea1d767bd627..17b5e82653d665c500ba22fd9b6a95f599f1b18a 100644 (file)
@@ -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")) {