From: Eric Covener Date: Thu, 30 Mar 2023 20:32:19 +0000 (+0000) Subject: fix regression in 2.4.56 X-Git-Tag: 2.5.0-alpha2-ci-test-only~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fdf618ea34f9e02675bef2e018bcc41cd2071609;p=thirdparty%2Fapache%2Fhttpd.git fix regression in 2.4.56 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908813 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/changes-entries/rewrite-qsd-regression.diff b/changes-entries/rewrite-qsd-regression.diff new file mode 100644 index 00000000000..0e4fe1ac09b --- /dev/null +++ b/changes-entries/rewrite-qsd-regression.diff @@ -0,0 +1,3 @@ + *) mod_rewrite: Fix a 2.4.56 regression for substitutions ending + in a question mark. [Eric Covener] + diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index af77e58eebe..827239d9dbf 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -3911,6 +3911,7 @@ static const char *cmd_rewriterule(cmd_parms *cmd, void *in_dconf, if (*(a2_end-1) == '?') { /* a literal ? at the end of the unsubstituted rewrite rule */ newrule->flags |= RULEFLAG_QSNONE; + *(a2_end-1) = '\0'; /* trailing ? has done its job */ } else if (newrule->flags & RULEFLAG_QSDISCARD) { if (NULL == ap_strchr(newrule->output, '?')) {