From: Christophe Jaillet Date: Fri, 27 Feb 2015 06:05:11 +0000 (+0000) Subject: Merge r1657692, r1660800 from trunk X-Git-Tag: 2.4.13~392 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1557c361c7b0954d4494baaad5eedecbfba10b41;p=thirdparty%2Fapache%2Fhttpd.git Merge r1657692, r1660800 from trunk * Save a few bytes in conf pool when parsing some directives. Use temp_pool when applicable. Submitted by: jailletc36 Reviewed by: jailletc36, ylavic, covener Backported by: jailletc36 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1662639 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/STATUS b/STATUS index 8a8834febac..b3e6e9619cd 100644 --- a/STATUS +++ b/STATUS @@ -112,13 +112,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK: 2.4.x patch: trunk works (module CHANGES) +1: ylavic, wrowe, minfrin - * Save a few bytes in conf pool when parsing some directives. Use temp_pool - when applicable. - trunk patch: http://svn.apache.org/r1657692 - http://svn.apache.org/r1660800 - 2.4.x patch: trunk works - +1: jailletc36, ylavic, covener - PATCHES PROPOSED TO BACKPORT FROM TRUNK: [ New proposals should be added at the end of the list ] diff --git a/modules/filters/mod_filter.c b/modules/filters/mod_filter.c index 8fb872cdbf2..bd2cf7ac176 100644 --- a/modules/filters/mod_filter.c +++ b/modules/filters/mod_filter.c @@ -362,7 +362,7 @@ static const char *filter_protocol(cmd_parms *cmd, void *CFG, const char *fname, } /* Now set flags from our args */ - for (arg = apr_strtok(apr_pstrdup(cmd->pool, proto), sep, &tok); + for (arg = apr_strtok(apr_pstrdup(cmd->temp_pool, proto), sep, &tok); arg; arg = apr_strtok(NULL, sep, &tok)) { if (!strcasecmp(arg, "change=yes")) { diff --git a/os/unix/unixd.c b/os/unix/unixd.c index bcb97a57db0..d7042bf6867 100644 --- a/os/unix/unixd.c +++ b/os/unix/unixd.c @@ -74,7 +74,7 @@ AP_DECLARE(void) ap_unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit, return; } - if (*(str = ap_getword_conf(cmd->pool, &arg)) != '\0') { + if (*(str = ap_getword_conf(cmd->temp_pool, &arg)) != '\0') { if (!strcasecmp(str, "max")) { cur = limit->rlim_max; } @@ -88,7 +88,7 @@ AP_DECLARE(void) ap_unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit, return; } - if (arg2 && (*(str = ap_getword_conf(cmd->pool, &arg2)) != '\0')) { + if (arg2 && (*(str = ap_getword_conf(cmd->temp_pool, &arg2)) != '\0')) { max = atol(str); } diff --git a/server/config.c b/server/config.c index dada063c062..cc6070a2359 100644 --- a/server/config.c +++ b/server/config.c @@ -1016,7 +1016,11 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms, return errmsg; case FLAG: - w = ap_getword_conf(parms->pool, &args); + /* + * This is safe to use temp_pool here, because the 'flag' itself is not + * forwarded as-is + */ + w = ap_getword_conf(parms->temp_pool, &args); if (*w == '\0' || (strcasecmp(w, "on") && strcasecmp(w, "off"))) return apr_pstrcat(parms->pool, cmd->name, " must be On or Off", diff --git a/server/mpm_common.c b/server/mpm_common.c index a5980106829..e7121a772cd 100644 --- a/server/mpm_common.c +++ b/server/mpm_common.c @@ -343,7 +343,7 @@ const char *ap_mpm_set_coredumpdir(cmd_parms *cmd, void *dummy, return err; } - fname = ap_server_root_relative(cmd->pool, arg); + fname = ap_server_root_relative(cmd->temp_pool, arg); if (!fname) { return apr_pstrcat(cmd->pool, "Invalid CoreDumpDirectory path ", arg, NULL);