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