Author: kkolinko Date: Wed Mar 10 22:43:20 2010 New Revision: 921603 URL: http://svn.apache.org/viewvc?rev=921603&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48760 Remove race condition that can result in multiple threads trying to use the same InputStream (markt)
Modified: tomcat/tc5.5.x/trunk/STATUS.txt tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml Modified: tomcat/tc5.5.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/STATUS.txt?rev=921603&r1=921602&r2=921603&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/STATUS.txt (original) +++ tomcat/tc5.5.x/trunk/STATUS.txt Wed Mar 10 22:43:20 2010 @@ -94,12 +94,6 @@ PATCHES PROPOSED TO BACKPORT: +1: kkolinko, markt -1: -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48760 - Ensure multiple threads do not end up with the same InputStream - http://svn.apache.org/viewvc?rev=920858&view=rev - +1: markt, kkolinko, jfclere - -1: - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48701 Add system property to allow disabling enforcement of JSP.5.3 The spec recommends, but does not require this enforcement. Modified: tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java?rev=921603&r1=921602&r2=921603&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java (original) +++ tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java Wed Mar 10 22:43:20 2010 @@ -942,7 +942,7 @@ public class FileDirContext extends Base /** - * This specialized resource implementation avoids opening the IputStream + * This specialized resource implementation avoids opening the InputStream * to the file right away (which would put a lock on the file). */ protected class FileResource extends Resource { @@ -982,7 +982,9 @@ public class FileDirContext extends Base public InputStream streamContent() throws IOException { if (binaryContent == null) { - inputStream = new FileInputStream(file); + FileInputStream fis = new FileInputStream(file); + inputStream = fis; + return fis; } return super.streamContent(); } Modified: tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java?rev=921603&r1=921602&r2=921603&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java (original) +++ tomcat/tc5.5.x/trunk/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java Wed Mar 10 22:43:20 2010 @@ -938,7 +938,9 @@ public class WARDirContext extends BaseD throws IOException { try { if (binaryContent == null) { - inputStream = base.getInputStream(entry); + InputStream is = base.getInputStream(entry); + inputStream = is; + return is; } } catch (ZipException e) { throw new IOException(e.getMessage()); Modified: tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml?rev=921603&r1=921602&r2=921603&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml (original) +++ tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml Wed Mar 10 22:43:20 2010 @@ -175,6 +175,10 @@ (markt) </fix> <fix> + <bug>48760</bug>: Remove race condition that can result in multiple + threads trying to use the same InputStream. (markt) + </fix> + <fix> Add an additional permission required by JULI when running under newer JDKs and a security manager. (markt) </fix> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org