Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The harmony method java.io.DataInputStream(null).readFully(byte[], int, int) initially checks boundary values while RI checks stream.
It leads to different exceptions: NPE for RI and IndexOutOfBoundsException for Harmony.
================= test.java =======================
import java.io.DataInputStream;
public class test {
public static void main(String args[]) throws Exception {
new DataInputStream(null).readFully(new byte[]
, 1, 18);
}
}
===============================================
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))
java.lang.NullPointerException
at java.io.DataInputStream.readFully(DataInputStream.java:176)
at test.main(test.java:5)
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.
Exception in thread "main" java.lang.IndexOutOfBoundsException
at java.io.DataInputStream.readFully(DataInputStream.java:205)
at test.main(test.java:5)