]> granicus.if.org Git - apache/commitdiff
* Always retrieve conditional function. static variable might contain garbage if...
authorRuediger Pluem <rpluem@apache.org>
Fri, 20 Jul 2018 19:36:01 +0000 (19:36 +0000)
committerRuediger Pluem <rpluem@apache.org>
Fri, 20 Jul 2018 19:36:01 +0000 (19:36 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836383 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/balancers/mod_lbmethod_heartbeat.c
modules/proxy/mod_proxy_balancer.c
modules/proxy/mod_proxy_http.c

index d7462608a4f4269c5719dd683bada20c9bb3faa9..7aeaf71248549f24de03247fa769a9627df777a2 100644 (file)
@@ -273,13 +273,11 @@ static proxy_worker *find_best_hb(proxy_balancer *balancer,
         ap_get_module_config(r->server->module_config,
                              &lbmethod_heartbeat_module);
 
+    ap_proxy_retry_worker_fn =
+            APR_RETRIEVE_OPTIONAL_FN(ap_proxy_retry_worker);
     if (!ap_proxy_retry_worker_fn) {
-        ap_proxy_retry_worker_fn =
-                APR_RETRIEVE_OPTIONAL_FN(ap_proxy_retry_worker);
-        if (!ap_proxy_retry_worker_fn) {
-            /* can only happen if mod_proxy isn't loaded */
-            return NULL;
-        }
+        /* can only happen if mod_proxy isn't loaded */
+        return NULL;
     }
 
     apr_pool_create(&tpool, r->pool);
index 347481a3231c9bea55ba7492e90d362aa929b6c8..ad8d3c3e244cd1c62805e497dfbd2fbf46949824 100644 (file)
@@ -857,14 +857,12 @@ static int balancer_post_config(apr_pool_t *pconf, apr_pool_t *plog,
         return OK;
     }
 
+    ap_proxy_retry_worker_fn =
+            APR_RETRIEVE_OPTIONAL_FN(ap_proxy_retry_worker);
     if (!ap_proxy_retry_worker_fn) {
-        ap_proxy_retry_worker_fn =
-                APR_RETRIEVE_OPTIONAL_FN(ap_proxy_retry_worker);
-        if (!ap_proxy_retry_worker_fn) {
-            ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(02230)
-                         "mod_proxy must be loaded for mod_proxy_balancer");
-            return !OK;
-        }
+        ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(02230)
+                     "mod_proxy must be loaded for mod_proxy_balancer");
+        return !OK;
     }
 
     /*
index 0a84968bcc5c1766bcf99ee5fe058831df5663ae..8931759a3def1f15bd726a58ded33967b5751487 100644 (file)
@@ -2171,14 +2171,12 @@ static int proxy_http_post_config(apr_pool_t *pconf, apr_pool_t *plog,
         return OK;
     }
 
+    ap_proxy_clear_connection_fn =
+            APR_RETRIEVE_OPTIONAL_FN(ap_proxy_clear_connection);
     if (!ap_proxy_clear_connection_fn) {
-        ap_proxy_clear_connection_fn =
-                APR_RETRIEVE_OPTIONAL_FN(ap_proxy_clear_connection);
-        if (!ap_proxy_clear_connection_fn) {
-            ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(02477)
-                         "mod_proxy must be loaded for mod_proxy_http");
-            return !OK;
-        }
+        ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(02477)
+                     "mod_proxy must be loaded for mod_proxy_http");
+        return !OK;
     }
 
     return OK;