jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java
changeset 39747 2d542b973871
parent 29492 a4bf9a570035
child 39751 47948cf5c3c5
--- a/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java	Tue Jul 19 09:31:59 2016 -0700
+++ b/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java	Wed Dec 23 02:36:57 2015 +0000
@@ -233,10 +233,15 @@
                 subjectPd = cachedPDs.getValue(pd);
 
                 if (subjectPd == null) {
-                    subjectPd = new ProtectionDomain(pd.getCodeSource(),
+                    if (pd.staticPermissionsOnly()) {
+                        // keep static ProtectionDomain objects static
+                        subjectPd = pd;
+                    } else {
+                        subjectPd = new ProtectionDomain(pd.getCodeSource(),
                                                 pd.getPermissions(),
                                                 pd.getClassLoader(),
                                                 principals);
+                    }
                     cachedPDs.putValue(pd, subjectPd);
                 } else {
                     allNew = false;