diff -urpN rhino1_5R5.old/toolsrc/org/mozilla/javascript/tools/shell/JavaPolicySecurity.java rhino1_5R5/toolsrc/org/mozilla/javascript/tools/shell/JavaPolicySecurity.java
--- rhino1_5R5.old/toolsrc/org/mozilla/javascript/tools/shell/JavaPolicySecurity.java	2004-03-25 15:54:34.000000000 +0100
+++ rhino1_5R5/toolsrc/org/mozilla/javascript/tools/shell/JavaPolicySecurity.java	2005-02-01 13:58:26.521223264 +0100
@@ -124,7 +124,7 @@ public class JavaPolicySecurity extends 
 
     public JavaPolicySecurity() {
         // To trigger error on jdk-1.1 with lazy load
-        new CodeSource(null, null);
+        new CodeSource(null, (java.security.cert.Certificate[])null);
     }
 
     protected void callProcessFileSecure(final Context cx,
@@ -167,8 +167,8 @@ public class JavaPolicySecurity extends 
     }
 
     private ProtectionDomain getUrlDomain(URL url) {
-        CodeSource cs = new CodeSource(url, null);
-        PermissionCollection pc = Policy.getPolicy().getPermissions(cs);
+        CodeSource cs = new CodeSource(url, (java.security.cert.Certificate[])null);
+	PermissionCollection pc = Policy.getPolicy().getPermissions(cs);
         return new ProtectionDomain(cs, pc);
     }
 
