--- 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;