You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Artem Aliev (JIRA)" <ji...@apache.org> on 2006/12/04 14:16:21 UTC

[jira] Created: (HARMONY-2427) [luni] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1

[luni] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1
------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: HARMONY-2427
                 URL: http://issues.apache.org/jira/browse/HARMONY-2427
             Project: Harmony
          Issue Type: Bug
          Components: Classlib
            Reporter: Artem Aliev
            Priority: Minor


According to J2SE API 5.0 specifications of java.lang.zip.GZIPInputStream
class:
public int read(byte[] buf, int off, int len) throws IOException

Returns:
    the actual number of bytes read, or -1 if the end of the compressed input 
    stream is reached 

Specification of overriden read method from IputStream class says that
method read throws IndexOutOdBoundsException when off or len is negative and
when off + len is greater than buffer length.

When the end of input stream was reached then RI returns -1 and does not
compare off+len with buf.length and does not check that off and len are 
positive.

But Harmony verifies arguments even if EOF was reached and throws 
ArrayIndexOutOfBoundsException when off or len is negative, or when off+len is
greater than array length.

Harmony unit test 
unitHarmony_org_apache_harmony_archive_tests_java_util_zip_GZIPInputStreamTest
(test_read$BII)
verifies that ArrayIndexOfBoundsException should be thrown after EOF if
off_len > buf.length.
This test fails on RI.


Code for reproducing:
To reproduce this run the following test:
--------------HT7.java--------------
import java.util.*;
import java.io.*;
import java.net.*;
import java.util.zip.*;

public class HT7 {
    public static void main (String[] args) {
        byte outBuf[] = new byte[100];
        try {
            int result = 0;                     
            URL gInput = new URL("file:hyts_gInput.txt.gz");
            GZIPInputStream inGZIP = new GZIPInputStream(
                gInput.openConnection().getInputStream());
            try {
                inGZIP.read(outBuf, 100, 1);
                System.out.println("Test failedL IOOBE was not thrown");
                return;
            } catch (IndexOutOfBoundsException e) {
                System.out.println(e + " was thrown as expected");
            }
            while (true) {
                result = inGZIP.read(outBuf, 0,5);
                if (result == -1) {
                    System.out.println("EOF was reached");
                    break;
                }
            }
            result = -10;
            try {
                result = inGZIP.read(outBuf, 100, 1);
                System.out.println("Test passed. After EOF read(buf,100,1) ==
"+result);
            } catch (IndexOutOfBoundsException e) {
                System.out.println("Test failed. After EOF read(buf, 100,1)
throws: "+e);
            }
            try {
                result = inGZIP.read(outBuf, -100, 1);
                System.out.println("Test passed. After EOF read(buf,-100,1) ==
"+result);
            } catch (IndexOutOfBoundsException e) {
                System.out.println("Test failed. After EOF read(buf,-100,1)
throws: "+e);
            }
            try {
                result = inGZIP.read(outBuf, -1, 1);//100, 1);
                System.out.println("Test passed. After EOF read(buf,1,-1) ==
"+result);
            } catch (IndexOutOfBoundsException e) {
                System.out.println("Test failed. After EOF read(buf,1,-1)
throws: "+e);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
-------------------

Steps to Reproduce:
 Create HT7 class and run it
 java -cp . HT7

Output:
On RI:
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)

java.lang.IndexOutOfBoundsException was thrown as expected
EOF was reached
Test passed. After EOF read(buf,100,1) == -1
Test passed. After EOF read(buf,-100,1) == -1
Test passed. After EOF read(buf,1,-1) == -1

On Harmony:
Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software
Foundation or its l
icensors, as applicable.
java version "1.5.0"
pre-alpha : not complete or compatible
svn = rsvn: '.' is not a working copy, (Sep 22 2006), Windows/ia32/msvc 1310,
debug build
http://incubator.apache.org/harmony
java.lang.ArrayIndexOutOfBoundsException was thrown as expected
EOF was reached
Test failed. After EOF read(buf, 100,1) throws:
java.lang.ArrayIndexOutOfBoundsException
Test failed. After EOF read(buf,-100,1) throws:
java.lang.ArrayIndexOutOfBoundsException
Test failed. After EOF read(buf,1,-1) throws:
java.lang.ArrayIndexOutOfBoundsException



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

        

[jira] Updated: (HARMONY-2427) [classlib][archive] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1

Posted by "Paulex Yang (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2427?page=all ]

Paulex Yang updated HARMONY-2427:
---------------------------------

    Summary: [classlib][archive] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1  (was: [luni] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1)

> [classlib][archive] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2427
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2427
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Artem Aliev
>            Priority: Minor
>
> According to J2SE API 5.0 specifications of java.lang.zip.GZIPInputStream
> class:
> public int read(byte[] buf, int off, int len) throws IOException
> Returns:
>     the actual number of bytes read, or -1 if the end of the compressed input 
>     stream is reached 
> Specification of overriden read method from IputStream class says that
> method read throws IndexOutOdBoundsException when off or len is negative and
> when off + len is greater than buffer length.
> When the end of input stream was reached then RI returns -1 and does not
> compare off+len with buf.length and does not check that off and len are 
> positive.
> But Harmony verifies arguments even if EOF was reached and throws 
> ArrayIndexOutOfBoundsException when off or len is negative, or when off+len is
> greater than array length.
> Harmony unit test 
> unitHarmony_org_apache_harmony_archive_tests_java_util_zip_GZIPInputStreamTest
> (test_read$BII)
> verifies that ArrayIndexOfBoundsException should be thrown after EOF if
> off_len > buf.length.
> This test fails on RI.
> Code for reproducing:
> To reproduce this run the following test:
> --------------HT7.java--------------
> import java.util.*;
> import java.io.*;
> import java.net.*;
> import java.util.zip.*;
> public class HT7 {
>     public static void main (String[] args) {
>         byte outBuf[] = new byte[100];
>         try {
>             int result = 0;                     
>             URL gInput = new URL("file:hyts_gInput.txt.gz");
>             GZIPInputStream inGZIP = new GZIPInputStream(
>                 gInput.openConnection().getInputStream());
>             try {
>                 inGZIP.read(outBuf, 100, 1);
>                 System.out.println("Test failedL IOOBE was not thrown");
>                 return;
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println(e + " was thrown as expected");
>             }
>             while (true) {
>                 result = inGZIP.read(outBuf, 0,5);
>                 if (result == -1) {
>                     System.out.println("EOF was reached");
>                     break;
>                 }
>             }
>             result = -10;
>             try {
>                 result = inGZIP.read(outBuf, 100, 1);
>                 System.out.println("Test passed. After EOF read(buf,100,1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf, 100,1)
> throws: "+e);
>             }
>             try {
>                 result = inGZIP.read(outBuf, -100, 1);
>                 System.out.println("Test passed. After EOF read(buf,-100,1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf,-100,1)
> throws: "+e);
>             }
>             try {
>                 result = inGZIP.read(outBuf, -1, 1);//100, 1);
>                 System.out.println("Test passed. After EOF read(buf,1,-1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf,1,-1)
> throws: "+e);
>             }
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>     }
> }
> -------------------
> Steps to Reproduce:
>  Create HT7 class and run it
>  java -cp . HT7
> Output:
> On RI:
> java version "1.5.0_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
> Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
> java.lang.IndexOutOfBoundsException was thrown as expected
> EOF was reached
> Test passed. After EOF read(buf,100,1) == -1
> Test passed. After EOF read(buf,-100,1) == -1
> Test passed. After EOF read(buf,1,-1) == -1
> On Harmony:
> Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software
> Foundation or its l
> icensors, as applicable.
> java version "1.5.0"
> pre-alpha : not complete or compatible
> svn = rsvn: '.' is not a working copy, (Sep 22 2006), Windows/ia32/msvc 1310,
> debug build
> http://incubator.apache.org/harmony
> java.lang.ArrayIndexOutOfBoundsException was thrown as expected
> EOF was reached
> Test failed. After EOF read(buf, 100,1) throws:
> java.lang.ArrayIndexOutOfBoundsException
> Test failed. After EOF read(buf,-100,1) throws:
> java.lang.ArrayIndexOutOfBoundsException
> Test failed. After EOF read(buf,1,-1) throws:
> java.lang.ArrayIndexOutOfBoundsException

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

        

[jira] Updated: (HARMONY-2427) [classlib][archive] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1

Posted by "Tony Wu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tony Wu updated HARMONY-2427:
-----------------------------

    Attachment: harmony-2427.diff

would you please try this patch , thanks.

> [classlib][archive] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2427
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2427
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Artem Aliev
>            Priority: Minor
>         Attachments: harmony-2427.diff
>
>
> According to J2SE API 5.0 specifications of java.lang.zip.GZIPInputStream
> class:
> public int read(byte[] buf, int off, int len) throws IOException
> Returns:
>     the actual number of bytes read, or -1 if the end of the compressed input 
>     stream is reached 
> Specification of overriden read method from IputStream class says that
> method read throws IndexOutOdBoundsException when off or len is negative and
> when off + len is greater than buffer length.
> When the end of input stream was reached then RI returns -1 and does not
> compare off+len with buf.length and does not check that off and len are 
> positive.
> But Harmony verifies arguments even if EOF was reached and throws 
> ArrayIndexOutOfBoundsException when off or len is negative, or when off+len is
> greater than array length.
> Harmony unit test 
> unitHarmony_org_apache_harmony_archive_tests_java_util_zip_GZIPInputStreamTest
> (test_read$BII)
> verifies that ArrayIndexOfBoundsException should be thrown after EOF if
> off_len > buf.length.
> This test fails on RI.
> Code for reproducing:
> To reproduce this run the following test:
> --------------HT7.java--------------
> import java.util.*;
> import java.io.*;
> import java.net.*;
> import java.util.zip.*;
> public class HT7 {
>     public static void main (String[] args) {
>         byte outBuf[] = new byte[100];
>         try {
>             int result = 0;                     
>             URL gInput = new URL("file:hyts_gInput.txt.gz");
>             GZIPInputStream inGZIP = new GZIPInputStream(
>                 gInput.openConnection().getInputStream());
>             try {
>                 inGZIP.read(outBuf, 100, 1);
>                 System.out.println("Test failedL IOOBE was not thrown");
>                 return;
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println(e + " was thrown as expected");
>             }
>             while (true) {
>                 result = inGZIP.read(outBuf, 0,5);
>                 if (result == -1) {
>                     System.out.println("EOF was reached");
>                     break;
>                 }
>             }
>             result = -10;
>             try {
>                 result = inGZIP.read(outBuf, 100, 1);
>                 System.out.println("Test passed. After EOF read(buf,100,1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf, 100,1)
> throws: "+e);
>             }
>             try {
>                 result = inGZIP.read(outBuf, -100, 1);
>                 System.out.println("Test passed. After EOF read(buf,-100,1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf,-100,1)
> throws: "+e);
>             }
>             try {
>                 result = inGZIP.read(outBuf, -1, 1);//100, 1);
>                 System.out.println("Test passed. After EOF read(buf,1,-1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf,1,-1)
> throws: "+e);
>             }
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>     }
> }
> -------------------
> Steps to Reproduce:
>  Create HT7 class and run it
>  java -cp . HT7
> Output:
> On RI:
> java version "1.5.0_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
> Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
> java.lang.IndexOutOfBoundsException was thrown as expected
> EOF was reached
> Test passed. After EOF read(buf,100,1) == -1
> Test passed. After EOF read(buf,-100,1) == -1
> Test passed. After EOF read(buf,1,-1) == -1
> On Harmony:
> Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software
> Foundation or its l
> icensors, as applicable.
> java version "1.5.0"
> pre-alpha : not complete or compatible
> svn = rsvn: '.' is not a working copy, (Sep 22 2006), Windows/ia32/msvc 1310,
> debug build
> http://incubator.apache.org/harmony
> java.lang.ArrayIndexOutOfBoundsException was thrown as expected
> EOF was reached
> Test failed. After EOF read(buf, 100,1) throws:
> java.lang.ArrayIndexOutOfBoundsException
> Test failed. After EOF read(buf,-100,1) throws:
> java.lang.ArrayIndexOutOfBoundsException
> Test failed. After EOF read(buf,1,-1) throws:
> java.lang.ArrayIndexOutOfBoundsException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HARMONY-2427) [classlib][archive] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1

Posted by "Paulex Yang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paulex Yang reassigned HARMONY-2427:
------------------------------------

    Assignee: Paulex Yang

> [classlib][archive] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2427
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2427
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Artem Aliev
>         Assigned To: Paulex Yang
>            Priority: Minor
>         Attachments: harmony-2427.diff
>
>
> According to J2SE API 5.0 specifications of java.lang.zip.GZIPInputStream
> class:
> public int read(byte[] buf, int off, int len) throws IOException
> Returns:
>     the actual number of bytes read, or -1 if the end of the compressed input 
>     stream is reached 
> Specification of overriden read method from IputStream class says that
> method read throws IndexOutOdBoundsException when off or len is negative and
> when off + len is greater than buffer length.
> When the end of input stream was reached then RI returns -1 and does not
> compare off+len with buf.length and does not check that off and len are 
> positive.
> But Harmony verifies arguments even if EOF was reached and throws 
> ArrayIndexOutOfBoundsException when off or len is negative, or when off+len is
> greater than array length.
> Harmony unit test 
> unitHarmony_org_apache_harmony_archive_tests_java_util_zip_GZIPInputStreamTest
> (test_read$BII)
> verifies that ArrayIndexOfBoundsException should be thrown after EOF if
> off_len > buf.length.
> This test fails on RI.
> Code for reproducing:
> To reproduce this run the following test:
> --------------HT7.java--------------
> import java.util.*;
> import java.io.*;
> import java.net.*;
> import java.util.zip.*;
> public class HT7 {
>     public static void main (String[] args) {
>         byte outBuf[] = new byte[100];
>         try {
>             int result = 0;                     
>             URL gInput = new URL("file:hyts_gInput.txt.gz");
>             GZIPInputStream inGZIP = new GZIPInputStream(
>                 gInput.openConnection().getInputStream());
>             try {
>                 inGZIP.read(outBuf, 100, 1);
>                 System.out.println("Test failedL IOOBE was not thrown");
>                 return;
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println(e + " was thrown as expected");
>             }
>             while (true) {
>                 result = inGZIP.read(outBuf, 0,5);
>                 if (result == -1) {
>                     System.out.println("EOF was reached");
>                     break;
>                 }
>             }
>             result = -10;
>             try {
>                 result = inGZIP.read(outBuf, 100, 1);
>                 System.out.println("Test passed. After EOF read(buf,100,1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf, 100,1)
> throws: "+e);
>             }
>             try {
>                 result = inGZIP.read(outBuf, -100, 1);
>                 System.out.println("Test passed. After EOF read(buf,-100,1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf,-100,1)
> throws: "+e);
>             }
>             try {
>                 result = inGZIP.read(outBuf, -1, 1);//100, 1);
>                 System.out.println("Test passed. After EOF read(buf,1,-1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf,1,-1)
> throws: "+e);
>             }
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>     }
> }
> -------------------
> Steps to Reproduce:
>  Create HT7 class and run it
>  java -cp . HT7
> Output:
> On RI:
> java version "1.5.0_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
> Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
> java.lang.IndexOutOfBoundsException was thrown as expected
> EOF was reached
> Test passed. After EOF read(buf,100,1) == -1
> Test passed. After EOF read(buf,-100,1) == -1
> Test passed. After EOF read(buf,1,-1) == -1
> On Harmony:
> Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software
> Foundation or its l
> icensors, as applicable.
> java version "1.5.0"
> pre-alpha : not complete or compatible
> svn = rsvn: '.' is not a working copy, (Sep 22 2006), Windows/ia32/msvc 1310,
> debug build
> http://incubator.apache.org/harmony
> java.lang.ArrayIndexOutOfBoundsException was thrown as expected
> EOF was reached
> Test failed. After EOF read(buf, 100,1) throws:
> java.lang.ArrayIndexOutOfBoundsException
> Test failed. After EOF read(buf,-100,1) throws:
> java.lang.ArrayIndexOutOfBoundsException
> Test failed. After EOF read(buf,1,-1) throws:
> java.lang.ArrayIndexOutOfBoundsException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HARMONY-2427) [classlib][archive] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1

Posted by "Paulex Yang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paulex Yang resolved HARMONY-2427.
----------------------------------

    Resolution: Fixed

Tony, patch applied at revision r499712, thanks a lot for the enhancement.

Artem, please verify the problem is fully resolved as you expected, thank you.

> [classlib][archive] [compatibility] Harmony checks correctness of java.util.zip.GZIPInputStream.read(BII) arguments even if EOF was reached but RI returns -1
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2427
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2427
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Artem Aliev
>         Assigned To: Paulex Yang
>            Priority: Minor
>         Attachments: harmony-2427.diff
>
>
> According to J2SE API 5.0 specifications of java.lang.zip.GZIPInputStream
> class:
> public int read(byte[] buf, int off, int len) throws IOException
> Returns:
>     the actual number of bytes read, or -1 if the end of the compressed input 
>     stream is reached 
> Specification of overriden read method from IputStream class says that
> method read throws IndexOutOdBoundsException when off or len is negative and
> when off + len is greater than buffer length.
> When the end of input stream was reached then RI returns -1 and does not
> compare off+len with buf.length and does not check that off and len are 
> positive.
> But Harmony verifies arguments even if EOF was reached and throws 
> ArrayIndexOutOfBoundsException when off or len is negative, or when off+len is
> greater than array length.
> Harmony unit test 
> unitHarmony_org_apache_harmony_archive_tests_java_util_zip_GZIPInputStreamTest
> (test_read$BII)
> verifies that ArrayIndexOfBoundsException should be thrown after EOF if
> off_len > buf.length.
> This test fails on RI.
> Code for reproducing:
> To reproduce this run the following test:
> --------------HT7.java--------------
> import java.util.*;
> import java.io.*;
> import java.net.*;
> import java.util.zip.*;
> public class HT7 {
>     public static void main (String[] args) {
>         byte outBuf[] = new byte[100];
>         try {
>             int result = 0;                     
>             URL gInput = new URL("file:hyts_gInput.txt.gz");
>             GZIPInputStream inGZIP = new GZIPInputStream(
>                 gInput.openConnection().getInputStream());
>             try {
>                 inGZIP.read(outBuf, 100, 1);
>                 System.out.println("Test failedL IOOBE was not thrown");
>                 return;
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println(e + " was thrown as expected");
>             }
>             while (true) {
>                 result = inGZIP.read(outBuf, 0,5);
>                 if (result == -1) {
>                     System.out.println("EOF was reached");
>                     break;
>                 }
>             }
>             result = -10;
>             try {
>                 result = inGZIP.read(outBuf, 100, 1);
>                 System.out.println("Test passed. After EOF read(buf,100,1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf, 100,1)
> throws: "+e);
>             }
>             try {
>                 result = inGZIP.read(outBuf, -100, 1);
>                 System.out.println("Test passed. After EOF read(buf,-100,1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf,-100,1)
> throws: "+e);
>             }
>             try {
>                 result = inGZIP.read(outBuf, -1, 1);//100, 1);
>                 System.out.println("Test passed. After EOF read(buf,1,-1) ==
> "+result);
>             } catch (IndexOutOfBoundsException e) {
>                 System.out.println("Test failed. After EOF read(buf,1,-1)
> throws: "+e);
>             }
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>     }
> }
> -------------------
> Steps to Reproduce:
>  Create HT7 class and run it
>  java -cp . HT7
> Output:
> On RI:
> java version "1.5.0_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
> Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
> java.lang.IndexOutOfBoundsException was thrown as expected
> EOF was reached
> Test passed. After EOF read(buf,100,1) == -1
> Test passed. After EOF read(buf,-100,1) == -1
> Test passed. After EOF read(buf,1,-1) == -1
> On Harmony:
> Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software
> Foundation or its l
> icensors, as applicable.
> java version "1.5.0"
> pre-alpha : not complete or compatible
> svn = rsvn: '.' is not a working copy, (Sep 22 2006), Windows/ia32/msvc 1310,
> debug build
> http://incubator.apache.org/harmony
> java.lang.ArrayIndexOutOfBoundsException was thrown as expected
> EOF was reached
> Test failed. After EOF read(buf, 100,1) throws:
> java.lang.ArrayIndexOutOfBoundsException
> Test failed. After EOF read(buf,-100,1) throws:
> java.lang.ArrayIndexOutOfBoundsException
> Test failed. After EOF read(buf,1,-1) throws:
> java.lang.ArrayIndexOutOfBoundsException

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.