Index: trunk/modules/auth/src/main/java/common/javax/security/auth/SubjectDomainCombiner.java =================================================================== --- trunk/modules/auth/src/main/java/common/javax/security/auth/SubjectDomainCombiner.java (revision 433136) +++ trunk/modules/auth/src/main/java/common/javax/security/auth/SubjectDomainCombiner.java (working copy) @@ -92,10 +92,13 @@ for (cur = 0; cur < currentDomains.length; cur++) { ProtectionDomain newPD; - newPD = new ProtectionDomain(currentDomains[cur] - .getCodeSource(), currentDomains[cur].getPermissions(), - currentDomains[cur].getClassLoader(), p); - pd[cur] = newPD; + if (currentDomains[cur] != null) { + newPD = new ProtectionDomain(currentDomains[cur] + .getCodeSource(), currentDomains[cur] + .getPermissions(), currentDomains[cur] + .getClassLoader(), p); + pd[cur] = newPD; + } } } Index: trunk/modules/auth/src/test/java/common/org/apache/harmony/auth/tests/javax/security/auth/SubjectDomainCombinerTest.java =================================================================== --- trunk/modules/auth/src/test/java/common/org/apache/harmony/auth/tests/javax/security/auth/SubjectDomainCombinerTest.java (revision 0) +++ trunk/modules/auth/src/test/java/common/org/apache/harmony/auth/tests/javax/security/auth/SubjectDomainCombinerTest.java (revision 0) @@ -0,0 +1,44 @@ +/* + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.harmony.auth.tests.javax.security.auth; + +import java.security.ProtectionDomain; +import javax.security.auth.SubjectDomainCombiner; +import javax.security.auth.Subject; + +import org.apache.harmony.auth.internal.SecurityTest; + + +/** + * Tests SubjectDomainCombiner class + */ + +public class SubjectDomainCombinerTest extends SecurityTest { + + public static void main(String[] args) { + junit.textui.TestRunner + .run(org.apache.harmony.auth.tests.javax.security.auth.SubjectDomainCombinerTest.class); + } + + /** + * Testing combine(ProtectionDomain[], ProtectionDomain[]) + */ + public final void testCombine() throws Exception { + //Regression for HARMONY-1129 + assertNotNull(new SubjectDomainCombiner(new Subject()).combine(new ProtectionDomain[] {null}, new ProtectionDomain[] {null})); + } +}