[ https://issues.apache.org/jira/browse/DIRMINA-664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Emmanuel Lecharny closed DIRMINA-664. ------------------------------------- > 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 > Assignee: Emmanuel Lecharny > Priority: Minor > Fix For: 2.0.0-M5 > > > 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.