You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by pe...@apache.org on 2010/09/12 03:04:10 UTC

svn commit: r996229 - /incubator/river/jtsk/skunk/pepe/src/org/apache/river/imp/security/policy/util/PermissionGrantBuilderImp.java

Author: peter_firmstone
Date: Sun Sep 12 01:04:10 2010
New Revision: 996229

URL: http://svn.apache.org/viewvc?rev=996229&view=rev
Log:
Fix NullPointerException regression in com/sun/jini/test/spec/security/basicproxypreparer/Grant_Test.td related to new concurrent dynamic policy provider.

Modified:
    incubator/river/jtsk/skunk/pepe/src/org/apache/river/imp/security/policy/util/PermissionGrantBuilderImp.java

Modified: incubator/river/jtsk/skunk/pepe/src/org/apache/river/imp/security/policy/util/PermissionGrantBuilderImp.java
URL: http://svn.apache.org/viewvc/incubator/river/jtsk/skunk/pepe/src/org/apache/river/imp/security/policy/util/PermissionGrantBuilderImp.java?rev=996229&r1=996228&r2=996229&view=diff
==============================================================================
--- incubator/river/jtsk/skunk/pepe/src/org/apache/river/imp/security/policy/util/PermissionGrantBuilderImp.java (original)
+++ incubator/river/jtsk/skunk/pepe/src/org/apache/river/imp/security/policy/util/PermissionGrantBuilderImp.java Sun Sep 12 01:04:10 2010
@@ -79,16 +79,20 @@ public class PermissionGrantBuilderImp i
 
     public PermissionGrantBuilder clazz(Class cl) {
         if (cl != null) {
-            domain = new WeakReference<ProtectionDomain>(cl.getProtectionDomain());
-            if (cs == null) {
-                cs = domain.get().getCodeSource();
-            }
-            if (certs == null) {
-                certs = domain.get().getCodeSource().getCertificates();
-            }
-            if (principals == null) {
-                principals = domain.get().getPrincipals();
-            }
+	    ProtectionDomain pd = cl.getProtectionDomain();
+	    if ( pd != null ){
+		domain = new WeakReference<ProtectionDomain>(pd);
+		CodeSource cdsrc = pd.getCodeSource();
+		if (cs == null) {
+		    cs = cdsrc;		    
+		}
+		if (certs == null && cdsrc != null) {
+		    certs = cdsrc.getCertificates();
+		}
+		if (principals == null) {
+		    principals = pd.getPrincipals();
+		}
+	    }
         }
         return this;
     }