markt 2004/11/21 09:22:50 Modified: catalina/src/share/org/apache/catalina/servlets CGIServlet.java Log: Port fix for 32023 from TC5. Ensure large uploads are correctly handled. Revision Changes Path 1.29 +14 -6 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java Index: CGIServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/CGIServlet.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- CGIServlet.java 28 Sep 2004 21:51:49 -0000 1.28 +++ CGIServlet.java 21 Nov 2004 17:22:49 -0000 1.29 @@ -1684,7 +1684,15 @@ ByteArrayOutputStream contentStream = null; if(!"".equals(sContentLength)) { byte[] content = new byte[Integer.parseInt(sContentLength)]; - int lenRead = stdin.read(content); + + // Ensure all of content is read when doing large uploads. + // See bugzilla 32023 + int lenRead = 0; + do { + int partRead = stdin.read(content,lenRead,content.length-lenRead); + lenRead += partRead; + } while (lenRead > 0 && lenRead < content.length); + contentStream = new ByteArrayOutputStream( Integer.parseInt(sContentLength)); if ("POST".equals(env.get("REQUEST_METHOD"))) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]