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

Reply via email to