From 868814fc372eb83f5b634b17913c5cd37a1e5882 Mon Sep 17 00:00:00 2001 From: Matt Fluet Date: Wed, 2 Oct 2013 14:40:49 -0400 Subject: [PATCH] Fix ClassLoader SecurityException with jar certificates for exploded deployments --- .../java/org/jboss/as/server/deployment/module/VFSResourceLoader.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/jboss/as/server/deployment/module/VFSResourceLoader.java b/server/src/main/java/org/jboss/as/server/deployment/module/VFSResourceLoader.java index 85654da..30a6beb 100644 --- a/server/src/main/java/org/jboss/as/server/deployment/module/VFSResourceLoader.java +++ b/server/src/main/java/org/jboss/as/server/deployment/module/VFSResourceLoader.java @@ -119,7 +119,7 @@ public class VFSResourceLoader extends AbstractResourceLoader implements Iterabl } /** {@inheritDoc} */ - public ClassSpec getClassSpec(final String name) throws IOException { + public synchronized ClassSpec getClassSpec(final String name) throws IOException { try { return doPrivileged(new PrivilegedExceptionAction() { public ClassSpec run() throws Exception { @@ -138,6 +138,8 @@ public class VFSResourceLoader extends AbstractResourceLoader implements Iterabl while ((res = is.read(bytes, a, castSize - a)) > 0) { a += res; } + // consume remainder so that cert check doesn't fail in case of wonky JARs + while (is.read() != -1); // done is.close(); spec.setBytes(bytes); -- 1.8.0.msysgit.0