]> granicus.if.org Git - apache/commitdiff
* modules/ssl/ssl_engine_vars (ssl_var_lookup): Fix potential
authorJoe Orton <jorton@apache.org>
Thu, 4 Mar 2004 07:59:30 +0000 (07:59 +0000)
committerJoe Orton <jorton@apache.org>
Thu, 4 Mar 2004 07:59:30 +0000 (07:59 +0000)
segfaults if called with r=NULL, c!=NULL, spotted by Andr��.

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

modules/ssl/ssl_engine_vars.c

index 4d3ba480721b5a331c9c808ddb6939920717a6d2..c33afc05bdc1b84216c22a1c88368a9d16d7d404 100644 (file)
@@ -130,6 +130,10 @@ char *ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r,
             result = apr_psprintf(p, "%u", ap_get_server_port(r));
         else if (strcEQ(var, "SERVER_PROTOCOL"))
             result = r->protocol;
+        else if (strcEQ(var, "REMOTE_USER"))
+            result = r->user;
+        else if (strcEQ(var, "AUTH_TYPE"))
+            result = r->ap_auth_type;
     }
 
     /*
@@ -139,10 +143,6 @@ char *ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r,
         SSLConnRec *sslconn = myConnConfig(c);
         if (strcEQ(var, "REMOTE_ADDR"))
             result = c->remote_ip;
-        else if (strcEQ(var, "REMOTE_USER"))
-            result = r->user;
-        else if (strcEQ(var, "AUTH_TYPE"))
-            result = r->ap_auth_type;
         else if (strlen(var) > 4 && strcEQn(var, "SSL_", 4) 
                  && sslconn && sslconn->ssl)
             result = ssl_var_lookup_ssl(p, c, var+4);