Author: mturk Date: Mon Oct 31 13:19:15 2011 New Revision: 1195447 URL: http://svn.apache.org/viewvc?rev=1195447&view=rev Log: Step 1 in sanitizing useless stack storage. MAX_PATH (260) chars is just wast of space for something that can't be larger then 60 bytes
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=1195447&r1=1195446&r2=1195447&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:19:15 2011 @@ -63,6 +63,8 @@ * for MaxClients */ #define DEFAULT_WORKER_THREADS 250 +#define RES_BUFFER_SIZE 64 +#define HDR_BUFFER_SIZE 1024 /* * We use special headers to pass values from the filter to the @@ -96,19 +98,19 @@ #define HEADER_TEMPLATE "%s%p:" #define HTTP_HEADER_TEMPLATE HTTP_HEADER_PREFIX "%s%p" -static char URI_HEADER_NAME[MAX_PATH]; -static char QUERY_HEADER_NAME[MAX_PATH]; -static char WORKER_HEADER_NAME[MAX_PATH]; -static char TOMCAT_TRANSLATE_HEADER_NAME[MAX_PATH]; -static char WORKER_HEADER_INDEX[MAX_PATH]; +static char URI_HEADER_NAME[RES_BUFFER_SIZE]; +static char QUERY_HEADER_NAME[RES_BUFFER_SIZE]; +static char WORKER_HEADER_NAME[RES_BUFFER_SIZE]; +static char TOMCAT_TRANSLATE_HEADER_NAME[RES_BUFFER_SIZE]; +static char WORKER_HEADER_INDEX[RES_BUFFER_SIZE]; /* The variants of the special headers after IIS adds * "HTTP_" to the front of them */ -static char HTTP_URI_HEADER_NAME[MAX_PATH]; -static char HTTP_QUERY_HEADER_NAME[MAX_PATH]; -static char HTTP_WORKER_HEADER_NAME[MAX_PATH]; -static char HTTP_WORKER_HEADER_INDEX[MAX_PATH]; +static char HTTP_URI_HEADER_NAME[RES_BUFFER_SIZE]; +static char HTTP_QUERY_HEADER_NAME[RES_BUFFER_SIZE]; +static char HTTP_WORKER_HEADER_NAME[RES_BUFFER_SIZE]; +static char HTTP_WORKER_HEADER_INDEX[RES_BUFFER_SIZE]; #define REGISTRY_LOCATION ("Software\\Apache Software Foundation\\Jakarta Isapi Redirector\\1.0") #define W3SVC_REGISTRY_KEY ("SYSTEM\\CurrentControlSet\\Services\\W3SVC\\Parameters") @@ -872,13 +874,13 @@ static int uri_is_web_inf(const char *ur static void write_error_response(PHTTP_FILTER_CONTEXT pfc, int err) { - char status[MAX_PATH]; + char status[1024]; char body[8192] = ""; DWORD len; /* reject !!! */ pfc->AddResponseHeaders(pfc, CONTENT_TYPE, 0); - StringCbPrintf(status, MAX_PATH, "%d %s", err, status_reason(err)); + StringCbPrintf(status, sizeof(status), "%d %s", err, status_reason(err)); pfc->ServerSupportFunction(pfc, SF_REQ_SEND_RESPONSE_HEADER, status, 0, 0); @@ -899,7 +901,7 @@ static void write_error_response(PHTTP_F static void write_error_message(LPEXTENSION_CONTROL_BLOCK lpEcb, int err) { DWORD len; - char status[MAX_PATH]; + char status[1024]; char body[8192] = ""; if (error_page) { @@ -921,7 +923,7 @@ static void write_error_message(LPEXTENS } lpEcb->dwHttpStatusCode = err; - StringCbPrintf(status, MAX_PATH, "%d %s", err, status_reason(err)); + StringCbPrintf(status, sizeof(status), "%d %s", err, status_reason(err)); lpEcb->ServerSupportFunction(lpEcb->ConnID, HSE_REQ_SEND_RESPONSE_HEADER, status, @@ -2412,17 +2414,17 @@ BOOL WINAPI DllMain(HINSTANCE hInst, fReturn = JK_FALSE; } /* Construct redirector headers to use for this redirector instance */ - StringCbPrintf(URI_HEADER_NAME, MAX_PATH, HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst); - StringCbPrintf(QUERY_HEADER_NAME, MAX_PATH, HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst); - StringCbPrintf(WORKER_HEADER_NAME, MAX_PATH, HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst); - StringCbPrintf(WORKER_HEADER_INDEX, MAX_PATH, HEADER_TEMPLATE, WORKER_HEADER_INDEX_BASE, hInst); - StringCbPrintf(TOMCAT_TRANSLATE_HEADER_NAME, MAX_PATH, HEADER_TEMPLATE, TOMCAT_TRANSLATE_HEADER_NAME_BASE, hInst); + StringCbPrintf(URI_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst); + StringCbPrintf(QUERY_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst); + StringCbPrintf(WORKER_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst); + StringCbPrintf(WORKER_HEADER_INDEX, RES_BUFFER_SIZE, HEADER_TEMPLATE, WORKER_HEADER_INDEX_BASE, hInst); + StringCbPrintf(TOMCAT_TRANSLATE_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, TOMCAT_TRANSLATE_HEADER_NAME_BASE, hInst); /* Construct the HTTP_ headers that will be seen in ExtensionProc */ - StringCbPrintf(HTTP_URI_HEADER_NAME, MAX_PATH, HTTP_HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst); - StringCbPrintf(HTTP_QUERY_HEADER_NAME, MAX_PATH, HTTP_HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst); - StringCbPrintf(HTTP_WORKER_HEADER_NAME, MAX_PATH, HTTP_HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst); - StringCbPrintf(HTTP_WORKER_HEADER_INDEX, MAX_PATH, HTTP_HEADER_TEMPLATE, WORKER_HEADER_INDEX_BASE, hInst); + StringCbPrintf(HTTP_URI_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst); + StringCbPrintf(HTTP_QUERY_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst); + StringCbPrintf(HTTP_WORKER_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst); + StringCbPrintf(HTTP_WORKER_HEADER_INDEX, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, WORKER_HEADER_INDEX_BASE, hInst); JK_INIT_CS(&init_cs, rc); JK_INIT_CS(&log_cs, rc); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org