[jboss-jira] [JBoss JIRA] (JGRP-1753) BlockingInputStream: reading beyond the array's capacity
Bela Ban (JIRA)
jira-events at lists.jboss.org
Mon Dec 9 10:12:06 EST 2013
Bela Ban created JGRP-1753:
------------------------------
Summary: BlockingInputStream: reading beyond the array's capacity
Key: JGRP-1753
URL: https://issues.jboss.org/browse/JGRP-1753
Project: JGroups
Issue Type: Bug
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.4.2, 3.5
If a BlockingInputStream {{input}} has a capacity of 8000 and we're calling {{input.read(buf, 0, buf.length)}} on a user buffer of 10000 with 14000 bytes added to {{input}}, then the following can happen:
* {{input}} reads the first 8000 bytes and copies them to the user's buffer
* The write position for the user's buffer is now at 8000 and the max number of bytes to be added is 2000 bytes, even if we have another 6000 bytes !
* Instead of adding another 2000 bytes, we add another 6000 bytes, leading to an ArrayIndexOutOfBoundsException
SOLUTION: the length of the remaining bytes has to be min(available, remaining space in user's buffer).
The unit test is {{BlockingInputStreamTest.testWritingBeyondLength()}}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list