Author: mturk
Date: Mon Oct 31 13:52:09 2011
New Revision: 1195456
URL: http://svn.apache.org/viewvc?rev=1195456&view=rev
Log:
Use 8K stack buffer instead INTERNET_MAX_URL_LENGTH for rewrite rules.
Modified:
tomcat/jk/trunk/native/iis/jk_isapi_plugin.c
Modified: tomcat/jk/trunk/native/iis/jk_isapi_plugin.c
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/jk_isapi_plugin.c?rev=1195456&r1=1195455&r2=1195456&view=diff
==============================================================================
--- tomcat/jk/trunk/native/iis/jk_isapi_plugin.c (original)
+++ tomcat/jk/trunk/native/iis/jk_isapi_plugin.c Mon Oct 31 13:52:09 2011
@@ -1786,15 +1786,15 @@ static int simple_rewrite(char *uri)
{
if (rewrite_map) {
int i;
- char buf[INTERNET_MAX_URL_LENGTH];
+ char buf[8192];
for (i = 0; i < jk_map_size(rewrite_map); i++) {
const char *src = jk_map_name_at(rewrite_map, i);
if (*src == '~')
continue; /* Skip regexp rewrites */
if (strncmp(uri, src, strlen(src)) == 0) {
- StringCbCopy(buf, INTERNET_MAX_URL_LENGTH,
jk_map_value_at(rewrite_map, i));
- StringCbCat(buf, INTERNET_MAX_URL_LENGTH, uri + strlen(src));
- StringCbCopy(uri, INTERNET_MAX_URL_LENGTH, buf);
+ StringCbCopy(buf, sizeof(buf), jk_map_value_at(rewrite_map,
i));
+ StringCbCat(buf, sizeof(buf), uri + strlen(src));
+ StringCbCopy(uri, sizeof(buf), buf);
return 1;
}
}
@@ -1814,12 +1814,12 @@ static int rregex_rewrite(char *uri)
char *subs = ap_pregsub(regexp->fake, uri,
AP_MAX_REG_MATCH, regm);
if (subs) {
- char buf[INTERNET_MAX_URL_LENGTH];
+ char buf[8192];
size_t diffsz = strlen(subs) - (regm[0].rm_eo -
regm[0].rm_so);
memcpy(&buf[0], uri, regm[0].rm_so);
- StringCbCopy(&buf[regm[0].rm_so], INTERNET_MAX_URL_LENGTH
- regm[0].rm_so, subs);
- StringCbCat(&buf[0], INTERNET_MAX_URL_LENGTH, uri +
regm[0].rm_eo);
- StringCbCopy(uri, INTERNET_MAX_URL_LENGTH, &buf[0]);
+ StringCbCopy(&buf[regm[0].rm_so], sizeof(buf) -
regm[0].rm_so, subs);
+ StringCbCat(&buf[0], sizeof(buf), uri + regm[0].rm_eo);
+ StringCbCopy(uri, sizeof(buf), &buf[0]);
free(subs);
return 1;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]