]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
mod_authz_core: follow up to r1864759.
authorYann Ylavic <ylavic@apache.org>
Thu, 7 Nov 2019 17:10:21 +0000 (17:10 +0000)
committerYann Ylavic <ylavic@apache.org>
Thu, 7 Nov 2019 17:10:21 +0000 (17:10 +0000)
We should at least log the unexpected provider_name == NULL condition.

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

modules/aaa/mod_authz_core.c

index 9c12003018bd45ca7eaa3e2adfc679d7f288a1d1..40e5fe1414abf449a4d9190d08df5e677eb52fa1 100644 (file)
@@ -193,7 +193,6 @@ static authz_status authz_alias_check_authorization(request_rec *r,
                                                     const void *parsed_require_args)
 {
     const char *provider_name;
-    authz_status ret = AUTHZ_DENIED;
 
     /* Look up the provider alias in the alias list.
      * Get the dir_config and call ap_merge_per_dir_configs()
@@ -217,6 +216,7 @@ static authz_status authz_alias_check_authorization(request_rec *r,
            configurations and call the real provider */
         if (prvdraliasrec) {
             ap_conf_vector_t *orig_dir_config = r->per_dir_config;
+            authz_status ret;
 
             r->per_dir_config =
                 ap_merge_per_dir_configs(r->pool, orig_dir_config,
@@ -227,15 +227,16 @@ static authz_status authz_alias_check_authorization(request_rec *r,
                                     prvdraliasrec->provider_parsed_args);
 
             r->per_dir_config = orig_dir_config;
-        }
-        else {
-            ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(02305)
-                          "no alias provider found for '%s' (BUG?)",
-                          provider_name);
+
+            return ret;
         }
     }
 
-    return ret;
+    ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(02305)
+                  "no alias provider found for '%s' (BUG?)",
+                  provider_name ? provider_name : "n/a");
+
+    return AUTHZ_DENIED;
 }
 
 static const authz_provider authz_alias_provider =