Author: markt
Date: Mon Jan 21 16:54:30 2019
New Revision: 1851754

URL: http://svn.apache.org/viewvc?rev=1851754&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=63038
Ensure that a ClassNotFoundException is thrown when attempting to load a class 
from a corrupted JAR file.

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java?rev=1851754&r1=1851753&r2=1851754&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java Mon 
Jan 21 16:54:30 2019
@@ -2315,6 +2315,11 @@ public abstract class WebappClassLoaderB
             }
 
             byte[] binaryContent = resource.getContent();
+            if (binaryContent == null) {
+                // Something went wrong reading the class bytes (and will have
+                // been logged at debug level).
+                return null;
+            }
             Manifest manifest = resource.getManifest();
             URL codeBase = resource.getCodeBase();
             Certificate[] certificates = resource.getCertificates();

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1851754&r1=1851753&r2=1851754&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Mon Jan 21 16:54:30 2019
@@ -98,6 +98,11 @@
         errors rather than server side errors and only logged at debug level.
         (markt)
       </scode>
+      <fix>
+        <bug>63038</bug>: Ensure that a <code>ClassNotFoundException</code> is
+        thrown when attempting to load a class from a corrupted JAR file.
+        (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Coyote">



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

Reply via email to