Author: remm
Date: Fri Feb  6 09:25:46 2015
New Revision: 1657764

URL: http://svn.apache.org/r1657764
Log:
Related to BZ57528: improve the algorithm to handle an exception or null return 
value in getContent and avoid NPE or returning corrupted data.

Modified:
    
tomcat/trunk/java/org/apache/catalina/webresources/AbstractArchiveResource.java

Modified: 
tomcat/trunk/java/org/apache/catalina/webresources/AbstractArchiveResource.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/AbstractArchiveResource.java?rev=1657764&r1=1657763&r2=1657764&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/webresources/AbstractArchiveResource.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/webresources/AbstractArchiveResource.java 
Fri Feb  6 09:25:46 2015
@@ -172,6 +172,10 @@ public abstract class AbstractArchiveRes
 
         int pos = 0;
         try (JarInputStreamWrapper jisw = getJarInputStreamWrapper()) {
+            if (jisw == null) {
+                // An error occurred, don't return corrupted content
+                return null;
+            }
             while (pos < size) {
                 int n = jisw.read(result, pos, size - pos);
                 if (n < 0) {
@@ -187,6 +191,8 @@ public abstract class AbstractArchiveRes
                 getLog().debug(sm.getString("abstractResource.getContentFail",
                         getWebappPath()), ioe);
             }
+            // Don't return corrupted content
+            return null;
         }
 
         return result;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to