Matt Hoffman created JENA-1919:
----------------------------------

             Summary: ArrayIndexOutOfBounds in BufferingWriter.java
                 Key: JENA-1919
                 URL: https://issues.apache.org/jira/browse/JENA-1919
             Project: Apache Jena
          Issue Type: Bug
          Components: Base
    Affects Versions: Jena 3.15.0
            Reporter: Matt Hoffman


I observed that the blockSize does not control the actual size of the 
underlying char array 'buffer' which will result in ArrayIndexOutOfBounds.

 

Locally I added the test below to TestBufferingWriter.java to illustrate.

  
{code:java}
public void write_07 () {
   String alpha = 
"0123456789abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWZYZ";

    create(8194, 4098);
    Random r = new Random();
    for (int i = 0; i < 8194;i++) {
        w.output(alpha.charAt(r.nextInt(alpha.length())));
    }

    w.close();

    String x = string();
    assertEquals(x.length(), 8194);
}
{code}
 

 Which produces.

 
{noformat}
[ERROR] write_07(org.apache.jena.atlas.io.TestBufferingWriter)  Time elapsed: 
0.007 s  <<< ERROR!
java.lang.ArrayIndexOutOfBoundsException: 8192
        at 
org.apache.jena.atlas.io.TestBufferingWriter.write_07(TestBufferingWriter.java:112){noformat}
 

 

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to