summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Barksdale <amatus.amongus@gmail.com>2011-02-02 16:04:16 -0800
committerDavid Barksdale <amatus.amongus@gmail.com>2011-05-23 23:01:03 -0500
commit8b9c5aedd77b5c93874a76026afb56691c797e5e (patch)
treebbf37366e0460faf488e5de1363bc39fc987986a
parent134db449360df4b7f5aaa4b78267ee74473d14c3 (diff)
The DynamicClassLoader should not use the default ProtectionDomain.applet
I've decided that using the ProtectionDomain of the ClassLoader which loaded the Compiler class is probably a good bet. This is useful for signed Java applets because the default ProtectionDomain will not have all the privlages of the applet.
-rw-r--r--src/jvm/clojure/lang/DynamicClassLoader.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/jvm/clojure/lang/DynamicClassLoader.java b/src/jvm/clojure/lang/DynamicClassLoader.java
index 17fa5a10..b7645e3f 100644
--- a/src/jvm/clojure/lang/DynamicClassLoader.java
+++ b/src/jvm/clojure/lang/DynamicClassLoader.java
@@ -43,9 +43,9 @@ public DynamicClassLoader(ClassLoader parent){
public Class defineClass(String name, byte[] bytes, Object srcForm){
Util.clearCache(rq, classCache);
- Class c = defineClass(name, bytes, 0, bytes.length);
- classCache.put(name, new SoftReference(c,rq));
- return c;
+ Class c = defineClass(name, bytes, 0, bytes.length, Compiler.class.getProtectionDomain());
+ classCache.put(name, new SoftReference(c,rq));
+ return c;
}
protected Class<?> findClass(String name) throws ClassNotFoundException{