From: Jim Jagielski Date: Thu, 9 Aug 2012 13:38:38 +0000 (+0000) Subject: Merge r1369995, r1369999, r1370001 from trunk: X-Git-Tag: 2.4.3~84 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=50af9831732dcb4ef5161400bc25be2b4283d0c8;p=apache Merge r1369995, r1369999, r1370001 from trunk: Use apr_pcalloc for rewritemap_entry struct, to avoid uninitialized entries. PR: 53663 Submitted by: Mikhail T. remove now unecessary assignment Add changes entry for r1369995, r1369999 Submitted by: sf Reviewed/backported by: jim git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1371208 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 003b69c7a3..6ddfe4cade 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,9 @@ Changes with Apache 2.4.3 possible XSS for a site where untrusted users can upload files to a location with MultiViews enabled. [Niels Heinen ] + *) mod_rewrite: Fix crash with dbd RewriteMaps. PR 53663. [Mikhail T. + ] + *) mod_ssl: Add new directive SSLCompression to disable TLS-level compression. PR 53219. [Björn Jacke , Stefan Fritsch] diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index 42bb0646b6..9823a7fa9d 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -2936,8 +2936,7 @@ static const char *cmd_rewritemap(cmd_parms *cmd, void *dconf, const char *a1, sconf = ap_get_module_config(cmd->server->module_config, &rewrite_module); - newmap = apr_palloc(cmd->pool, sizeof(rewritemap_entry)); - newmap->func = NULL; + newmap = apr_pcalloc(cmd->pool, sizeof(rewritemap_entry)); if (strncasecmp(a2, "txt:", 4) == 0) { if ((fname = ap_server_root_relative(cmd->pool, a2+4)) == NULL) { @@ -2948,7 +2947,6 @@ static const char *cmd_rewritemap(cmd_parms *cmd, void *dconf, const char *a1, newmap->type = MAPTYPE_TXT; newmap->datafile = fname; newmap->checkfile = fname; - newmap->checkfile2= NULL; newmap->cachename = apr_psprintf(cmd->pool, "%pp:%s", (void *)cmd->server, a1); } @@ -2961,7 +2959,6 @@ static const char *cmd_rewritemap(cmd_parms *cmd, void *dconf, const char *a1, newmap->type = MAPTYPE_RND; newmap->datafile = fname; newmap->checkfile = fname; - newmap->checkfile2= NULL; newmap->cachename = apr_psprintf(cmd->pool, "%pp:%s", (void *)cmd->server, a1); } @@ -3035,17 +3032,10 @@ static const char *cmd_rewritemap(cmd_parms *cmd, void *dconf, const char *a1, } newmap->type = MAPTYPE_PRG; - newmap->datafile = NULL; newmap->checkfile = newmap->argv[0]; - newmap->checkfile2= NULL; - newmap->cachename = NULL; } else if (strncasecmp(a2, "int:", 4) == 0) { newmap->type = MAPTYPE_INT; - newmap->datafile = NULL; - newmap->checkfile = NULL; - newmap->checkfile2= NULL; - newmap->cachename = NULL; newmap->func = (char *(*)(request_rec *,char *)) apr_hash_get(mapfunc_hash, a2+4, strlen(a2+4)); if (newmap->func == NULL) { @@ -3062,12 +3052,9 @@ static const char *cmd_rewritemap(cmd_parms *cmd, void *dconf, const char *a1, newmap->type = MAPTYPE_TXT; newmap->datafile = fname; newmap->checkfile = fname; - newmap->checkfile2= NULL; newmap->cachename = apr_psprintf(cmd->pool, "%pp:%s", (void *)cmd->server, a1); } - newmap->fpin = NULL; - newmap->fpout = NULL; if (newmap->checkfile && (apr_stat(&st, newmap->checkfile, APR_FINFO_MIN,