From: schultz Date: Tue, 20 Sep 2011 20:30:10 +0000 (+0000) Subject: Fixed bug #51580: Severe error deploying WAR application (ExpandWar error) X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=9f211da6e571b8c7f4dd3fb76b6ea5862113ae3d;p=tomcat7.0 Fixed bug #51580: Severe error deploying WAR application (ExpandWar error) - Added error mesage when JarEntry InputStream cannot be found due to a broken WAR file git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1173342 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/startup/ExpandWar.java b/java/org/apache/catalina/startup/ExpandWar.java index f9f1b4f34..c75b7e4cb 100644 --- a/java/org/apache/catalina/startup/ExpandWar.java +++ b/java/org/apache/catalina/startup/ExpandWar.java @@ -30,6 +30,7 @@ import java.nio.channels.FileChannel; import java.util.Enumeration; import java.util.jar.JarEntry; import java.util.jar.JarFile; +import java.util.zip.ZipException; import org.apache.catalina.Host; import org.apache.juli.logging.Log; @@ -125,6 +126,9 @@ public class ExpandWar { } input = jarFile.getInputStream(jarEntry); + if(null == input) + throw new ZipException(sm.getString("expandWar.missingJarEntry", jarEntry.getName())); + // Bugzilla 33636 expand(input, expandedFile); long lastModified = jarEntry.getTime(); diff --git a/java/org/apache/catalina/startup/LocalStrings.properties b/java/org/apache/catalina/startup/LocalStrings.properties index b1f0e8ab2..2208705d8 100644 --- a/java/org/apache/catalina/startup/LocalStrings.properties +++ b/java/org/apache/catalina/startup/LocalStrings.properties @@ -73,6 +73,7 @@ expandWar.copy=Error copying {0} to {1} expandWar.createFailed=Unable to create the directory [{0}] expandWar.deleteFailed=[{0}] could not be completely deleted. The presence of the remaining files may cause problems expandWar.illegalPath=The archive [{0}] is malformed and will be ignored: an entry contains an illegal path [{1}] which was not expanded to [{2}] since that is outside of the defined docBase [{3}] +expandWar.missingJarEntry=Cannot get input stream for JarEntry "{0}" - broken WAR file? hostConfig.appBase=Application base [{1}] for host [{0}] does not exist or is not a directory. deployOnStartUp and autoDeploy have been set to false to prevent deployment errors. Other errors may still occur. hostConfig.canonicalizing=Error delete redeploy resources from context [{0}] hostConfig.cce=Lifecycle event data object {0} is not a Host