]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
* Initialize hash needed by ap_register_rewrite_mapfunc early enough.
authorRuediger Pluem <rpluem@apache.org>
Thu, 20 Mar 2008 21:26:22 +0000 (21:26 +0000)
committerRuediger Pluem <rpluem@apache.org>
Thu, 20 Mar 2008 21:26:22 +0000 (21:26 +0000)
PR: 44641
Submitted by: Daniel Lescohier <daniel.lescohier cnet.com>
Reviewed by: rpluem, niq, wrowe, jim

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

CHANGES
modules/mappers/mod_rewrite.c

diff --git a/CHANGES b/CHANGES
index a30eb5c1f487f3b6a30f40b8fd75c1ad157022e6..2a4a23bbd0b20fa4ab05d69c0ae34299bdc811e9 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 Changes with Apache 2.3.0
 [ When backported to 2.2.x, remove entry from this file ]
 
+  *) mod_rewrite: Initialize hash needed by ap_register_rewrite_mapfunc early
+     enough. PR 44641 [Daniel Lescohier <daniel.lescohier cnet.com>]
+
   *) mod_authn_dbd: Disambiguate and tidy database authentication
      error messages.  PR 43210.  [Chris Darroch, Phil Endecott
      <spam_from_apache_bugzilla chezphil.org>]
index a2720ee4d776215d5dd9f04738de0dbb6cd29cc9..c490b5accda263b88202fbec0743bfd820d05bb5 100644 (file)
@@ -4178,7 +4178,6 @@ static int pre_config(apr_pool_t *pconf,
     APR_OPTIONAL_FN_TYPE(ap_register_rewrite_mapfunc) *map_pfn_register;
 
     /* register int: rewritemap handlers */
-    mapfunc_hash = apr_hash_make(pconf);
     map_pfn_register = APR_RETRIEVE_OPTIONAL_FN(ap_register_rewrite_mapfunc);
     if (map_pfn_register) {
         map_pfn_register("tolower", rewrite_mapfunc_tolower);
@@ -4979,6 +4978,10 @@ static void register_hooks(apr_pool_t *p)
      */
     static const char * const aszPre[]={ "mod_proxy.c", NULL };
 
+    /* make the hashtable before registering the function, so that
+     * other modules are prevented from accessing uninitialized memory.
+     */
+    mapfunc_hash = apr_hash_make(p);
     APR_REGISTER_OPTIONAL_FN(ap_register_rewrite_mapfunc);
 
     ap_hook_handler(handler_redirect, NULL, NULL, APR_HOOK_MIDDLE);