You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexei Zakharov (JIRA)" <ji...@apache.org> on 2007/03/29 15:50:25 UTC
[jira] Updated: (HARMONY-1082)
[classlib][io]compatibility:java.io.BufferedOutputStream.write(byte[], int,
int) throws ArrayIndexOutOfBoundsException while RI throws
NullPointerException
[ https://issues.apache.org/jira/browse/HARMONY-1082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexei Zakharov updated HARMONY-1082:
-------------------------------------
Patch Info: [Patch Available]
> [classlib][io]compatibility:java.io.BufferedOutputStream.write(byte[], int, int) throws ArrayIndexOutOfBoundsException while RI throws NullPointerException
> -----------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-1082
> URL: https://issues.apache.org/jira/browse/HARMONY-1082
> Project: Harmony
> Issue Type: Bug
> Components: Non-bug differences from RI
> Reporter: Ilya Okomin
> Priority: Trivial
> Attachments: harmony-1082.diff
>
>
> J2SE API specifications for java.io.BufferedOutputStream.write(byte[], int, int) method says "Throws IOException - if an I/O error occurs."
> Spec for the superclass java.io.OutputStream says that "If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown."
> Harmony throws ArrayIndexOutOfBoundsException while RI throws NullPointerException.
> ============== Test9422 .java =====================
> import java.io.BufferedOutputStream;
> public class Test9422 {
> public static void main(String[] argv) {
> BufferedOutputStream localBufferedOutputStream = new BufferedOutputStream(
> null, 1);
> byte[] array0 = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2 };
> try {
> localBufferedOutputStream.write(array0, 127, 1);
> System.out.println("Test filed!");
> } catch (IndexOutOfBoundsException e) {
> System.out.println("Test passed: expected " + e);
> } catch (Exception e) {
> System.out.println("Test filed: " + e);
> }
>
> try {
> localBufferedOutputStream.write(array0, 5, 17);
> System.out.println("Test filed!");
> } catch (IndexOutOfBoundsException e) {
> System.out.println("Test passed: expected " + e);
> } catch (Exception e) {
> System.out.println("Test filed: " + e);
> }
> try {
> localBufferedOutputStream.write(array0, -1, 5);
> System.out.println("Test filed!");
> } catch (IndexOutOfBoundsException e) {
> System.out.println("Test passed: expected " + e);
> } catch (Exception e) {
> System.out.println("Test filed: " + e);
> }
> try {
> localBufferedOutputStream.write(array0, 1, -5);
> System.out.println("Test filed!");
> } catch (IndexOutOfBoundsException e) {
> System.out.println("Test passed: expected " + e);
> } catch (Exception e) {
> System.out.println("Test filed: " + e);
> }
> }
> }
> ==========================================
> Output:
> Harmony:
> java version "1.5.0"
> pre-alpha : not complete or compatible
> svn = r424571, (Jul 22 2006), Windows/ia32/msvc 1310, release build
> http://incubator.apache.org/harmony
> Test passed: expected java.lang.ArrayIndexOutOfBoundsException: Arguments out of bounds
> Test passed: expected java.lang.ArrayIndexOutOfBoundsException: Arguments out of bounds
> Test passed: expected java.lang.ArrayIndexOutOfBoundsException: Arguments out of bounds
> Test passed: expected java.lang.ArrayIndexOutOfBoundsException: Arguments out of bounds
> RI:
> 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 filed: java.lang.NullPointerException
> Test filed: java.lang.NullPointerException
> Test filed: java.lang.NullPointerException
> Test passed: expected java.lang.ArrayIndexOutOfBoundsException
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.