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

[jira] Resolved: (HARMONY-1691) [claaslib][rmi]java.rmi.server.LogStream.write(byte[], int,int) does not throw IndexOutOfBoundsException in case of boundary violation

     [ http://issues.apache.org/jira/browse/HARMONY-1691?page=all ]

Alexey Petrenko resolved HARMONY-1691.
--------------------------------------

    Resolution: Fixed

The patch has been applied.
Please verify.

> [claaslib][rmi]java.rmi.server.LogStream.write(byte[], int,int) does not throw IndexOutOfBoundsException in case of boundary violation
> --------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1691
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1691
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Svetlana Samoilenko
>         Assigned To: Alexey Petrenko
>         Attachments: LogStream.patch, LogStreamTest.patch, LogStreamTestPatch.txt
>
>
> Description: 
> java.rmi.server.LogStream.write(byte[]buf, int off,int len) does not throw IndexOutOfBoundsException if off is negative, or len is negative, 
> or off+len is greater than the length of the array buf.
> There is no mention of any exceptions in the specification.
> Test for reproducing: 
> import junit.framework.TestCase;
> import java.rmi.server.*;
> public class test extends TestCase {      
>     public void testWrite_BA_I_I()  {
>        try {            
>            LogStream obj = LogStream.log("proba");
>            obj.write(new byte[]{1,1},-2,-6);
>            fail("IndexOutOfBoundsException should be thrown");
>        } catch (IndexOutOfBoundsException e) {
>            //expected
>        }
>       try {            
>            LogStream obj = LogStream.log("NN");
>            obj.write(new byte[]{1,1},6,1);
>            fail("IndexOutOfBoundsException should be thrown");            
>        } catch (IndexOutOfBoundsException e) {
>            //expected
>        }
>        try {            
>            LogStream obj = LogStream.log("NN");
>            obj.write(new byte[]{1,1},0,6);
>            fail("IndexOutOfBoundsException should be thrown");            
>        } catch (IndexOutOfBoundsException e) {
>            //expected
>        }                        
>     } 
> }
> Output on Sun 1.5: 
> ================== 
> 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) 
> .
> Time: 0 
> OK (1 test) 
> Output on Harmony: 
> ================== 
>  Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable. 
> java version "1.5.0" pre-alpha : not complete or compatible 
> svn = r452710, (Oct 4 2006), Windows/ia32/msvc 1310, release build 
> http://incubator.apache.org/harmony 
> .F
> Time: 0.047
> There was 1 failure:
> 1) testWrite_BA_I_I(test)junit.framework.AssertionFailedError: IndexOutOfBoundsException should be thrown
>         at test.testWrite_BA_I_I(test.java:11)
>         at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
> FAILURES!!!
> Tests run: 1,  Failures: 1,  Errors: 0

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