[ https://issues.apache.org/jira/browse/DIRMINA-664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12677357#action_12677357 ]
Emmanuel Lecharny commented on DIRMINA-664: ------------------------------------------- You are damn right. Let's remove those faked immutable objects. > EMPTY_* IoBuffer constants can be made mutable and cause data errors > -------------------------------------------------------------------- > > Key: DIRMINA-664 > URL: https://issues.apache.org/jira/browse/DIRMINA-664 > Project: MINA > Issue Type: Bug > Components: Core > Affects Versions: 2.0.0-M4 > Environment: All? > Reporter: David Rosenstrauch > Priority: Minor > > The EMPTY_* constants in the IoBuffer class can be made mutable (by using the > setAutoExpand(true) method call) which can result in those constant buffers > no longer being empty. This can obviously cause a multitude of data errors. > See this JUnit test case for an example: > import junit.framework.TestCase; > import org.apache.mina.core.buffer.IoBuffer; > public class TestIoBuffer extends TestCase { > public void testIoBufferAllocate() { > IoBuffer buf = IoBuffer.allocate(0).setAutoExpand(true); > buf.putInt(1234); > buf.flip(); > buf = IoBuffer.allocate(0); > assertEquals(0, buf.remaining()); > } > public void testEmptyIoBuffer() { > IoBuffer buf = IoBuffer.EMPTY_BUFFER.setAutoExpand(true); > buf.putInt(1234); > buf.flip(); > buf = IoBuffer.EMPTY_BUFFER; > assertEquals(0, buf.remaining()); > } > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.