On 30.03.2014 20:29, Eric Covener wrote: > On Sun, Mar 30, 2014 at 2:20 PM, <rj...@apache.org> wrote: >> Author: rjung >> Date: Sun Mar 30 18:20:09 2014 >> New Revision: 1583175 >> >> URL: http://svn.apache.org/r1583175 >> Log: >> Fix segfault in mod_alias introduced in r1132494. >> >> AliasMatch does not append unmatched parts of the >> original URI to the new URI. So no need to subtract >> anything from the new URI length. >> >> The existing code crashed when using >> "AliasMatch / /some/thing" and sending a request >> with a long URI. >> >> Modified: >> httpd/httpd/trunk/modules/mappers/mod_alias.c >> >> Modified: httpd/httpd/trunk/modules/mappers/mod_alias.c >> URL: >> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/mappers/mod_alias.c?rev=1583175&r1=1583174&r2=1583175&view=diff >> ============================================================================== >> --- httpd/httpd/trunk/modules/mappers/mod_alias.c (original) >> +++ httpd/httpd/trunk/modules/mappers/mod_alias.c Sun Mar 30 18:20:09 2014 >> @@ -371,15 +371,11 @@ static char *try_alias_list(request_rec >> } >> } >> else { >> - int pathlen = strlen(found) - >> - (strlen(r->uri + regm[0].rm_eo)); >> - AP_DEBUG_ASSERT(pathlen >= 0); >> - AP_DEBUG_ASSERT(pathlen <= strlen(found)); >> ap_set_context_info(r, >> apr_pstrmemdup(r->pool, >> r->uri, >> >> regm[0].rm_eo), >> apr_pstrmemdup(r->pool, >> found, >> - pathlen)); >> + >> strlen(found))); >> } >> } >> else { >> >> > > AFAICT { > In as much that it was ever useful, this breaks people relying on the > "context info" for aliasmatches structured the way this code was > originally biased to expecting: > > AliasMatch ^(/foo/bar/)(.*) /var/www/baz/$1 > > IMO might be best to just never set context info here, or not set it > when the first capture is not starting at offset 0. > }
What would have been the expected prefix value in this case? What in the AliasMatch / /some/thing case? Regards, Rainer