harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ivanov (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-1021) [classlib][jndi] unexpected ArrayIndexOutOfBoundsException for CompoundName.add(int, null)
Date Tue, 01 Aug 2006 05:23:17 GMT
[classlib][jndi] unexpected ArrayIndexOutOfBoundsException for CompoundName.add(int, null)
------------------------------------------------------------------------------------------

                 Key: HARMONY-1021
                 URL: http://issues.apache.org/jira/browse/HARMONY-1021
             Project: Harmony
          Issue Type: Bug
          Components: Classlib
            Reporter: Vladimir Ivanov


J2SE API specification for javax.naming.CompoundName says for methods add(int posn, String
comp) and add(String comp):
"Throws: InvalidNameException - If adding comp at the specified position would violate the
compound name's syntax."

When component to add is null then RI throws InvalidNameException but Harmony does not throw
any exception for add(String) method and throws ArrayIndexOutOfBoundsException for add(int,
String) method.

==================== test.java ======================
import java.util.*;
import javax.naming.*;

public class test {
    public static void main(String[] argv) throws Exception {
        CompoundName cmp = new CompoundName("aa", new Properties());
        try {       
            cmp.add(11, null);
            System.out.println("Test failed");
        } catch (InvalidNameException e) {
            System.out.println("Test passed: " + e);
        } catch (Throwable e) {
            System.out.println("unexpected exception: " + e);
            e.printStackTrace();
        }

        try {       
            cmp.add(null);
            System.out.println("Test failed");
        } catch (InvalidNameException e) {
            System.out.println("Test passed: " + e);
        } catch (Throwable e) {
            System.out.println("unexpected exception: " + e);
            e.printStackTrace();
        }
    }
}
=================================================

Output:
C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized
over throughput (initial strategy singleparpar))

Test passed: javax.naming.InvalidNameException: A flat name can only zero or one component
Test passed: javax.naming.InvalidNameException: A flat name can only have a single component

C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -cp . -showversion test
java version 1.5 (subset)

(c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
unexpected exception: java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
        at javax.naming.CompoundName.validateIndex(CompoundName.java:630)
        at javax.naming.CompoundName.add(CompoundName.java:681)
        at test.main(test.java:8)
Test failed

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message