From: William A. Rowe Jr Date: Fri, 21 Sep 2001 06:23:29 +0000 (+0000) Subject: AFAICT, we have never created server configs of _all_ modules for _all_ X-Git-Tag: 2.0.26~206 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=58fc8eaf53ea4d4d1b42562617df60f96319fe9d;p=thirdparty%2Fapache%2Fhttpd.git AFAICT, we have never created server configs of _all_ modules for _all_ contexts, only when they come up (e.g., a directive of that particular module is provided) with the except that vhost containers complete the initialization of all modules. I haven't stepped this, but it appears to be correct. This patch assures we can merge two incomplete directory sections together. They will (obviously) need to be merged with a LHS default, e.g. a vhost's or main server's default dir config. That's fine, this just allows either the LHS or RHS value to be null, and for merging to still succeed. Reported by: Sander Striker Additional Analysis: Doug MacEachern git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91098 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/config.c b/server/config.c index dc390eb8965..4258f31bcd0 100644 --- a/server/config.c +++ b/server/config.c @@ -258,7 +258,7 @@ AP_CORE_DECLARE(ap_conf_vector_t*) ap_merge_per_dir_configs(apr_pool_t *p, merger_func df = modp->merge_dir_config; int i = modp->module_index; - if (df && new_vector[i]) + if (df && new_vector[i] && base_vector[i]) conf_vector[i] = (*df) (p, base_vector[i], new_vector[i]); else conf_vector[i] = new_vector[i] ? new_vector[i] : base_vector[i];