Author: markt Date: Wed Feb 10 23:47:11 2010 New Revision: 908759 URL: http://svn.apache.org/viewvc?rev=908759&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48726 Prevent OOME when uploading large files with the deployer Patch provided by 'adam'
Modified: tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java tomcat/trunk/java/org/apache/catalina/ant/DeployTask.java Modified: tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java?rev=908759&r1=908758&r2=908759&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java (original) +++ tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java Wed Feb 10 23:47:11 2010 @@ -186,6 +186,8 @@ if (contentLength >= 0) { hconn.setRequestProperty("Content-Length", "" + contentLength); + + hconn.setFixedLengthStreamingMode(contentLength); } } else { hconn.setDoOutput(false); Modified: tomcat/trunk/java/org/apache/catalina/ant/DeployTask.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ant/DeployTask.java?rev=908759&r1=908758&r2=908759&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/ant/DeployTask.java (original) +++ tomcat/trunk/java/org/apache/catalina/ant/DeployTask.java Wed Feb 10 23:47:11 2010 @@ -167,8 +167,17 @@ } } else { try { - stream = new BufferedInputStream - (new FileInputStream(war), 1024); + FileInputStream fsInput = new FileInputStream(war); + long size = fsInput.getChannel().size(); + + if (size > Integer.MAX_VALUE) + throw new UnsupportedOperationException( + "DeployTask does not support WAR files " + + "greater than 2 Gb"); + contentLength = (int) size; + + stream = new BufferedInputStream(fsInput, 1024); + } catch (IOException e) { throw new BuildException(e); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org