[ 
https://issues.apache.org/jira/browse/DERBY-4088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Knut Anders Hatlen updated DERBY-4088:
--------------------------------------

    Attachment: derby-4088-2.diff

The attached patch reverts the changes to DDMReader.compressBLayerData() made 
in revision 752813 and instead makes ensureBLayerDataInBuffer() use the same 
approach as Reply.java. All the regression tests, including the regression test 
for this issue, still pass.

> DDMReader readBytes ArrayIndexOutOfBoundsException
> --------------------------------------------------
>
>                 Key: DERBY-4088
>                 URL: https://issues.apache.org/jira/browse/DERBY-4088
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server
>    Affects Versions: 10.4.2.0
>         Environment: CentOS 5, java 1.6.0_11
>            Reporter: Urban Widmark
>            Assignee: Knut Anders Hatlen
>             Fix For: 10.5.0.0
>
>         Attachments: derby-4088-2.diff, derby-4088.diff, derby-ddm.patch, 
> DerbyBug.java
>
>
> DDMReader.readBytes(int length) checks the length vs 
> DssConstants.MAX_DSS_LENGTH, but ignores the fact that the buffer position 
> "pos" might not be 0. If pos is non-zero then the pos + length can be larger 
> than the size of "buffer" causing an ArrayIndexOutOfBoundsException.
> For me this happened when sending a BLOB that was 32766 bytes long. The value 
> of pos was 2 in that method.

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

Reply via email to