From 5c48af8564229bb56f45bb47b015be325b8855da Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Fri, 5 Dec 2014 17:30:06 +0000 Subject: Bug fix: Stop 0-8 protocol layer wrapping the same byte array git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/QPID-6262-JavaBrokerNIO@1643363 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/protocol/v0_8/AMQProtocolEngine.java | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'qpid/java/broker-plugins') diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java index 4212505d75..169b269629 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java @@ -514,20 +514,10 @@ public class AMQProtocolEngine implements ServerProtocolEngine, throw new ServerScopedRuntimeException(e); } - final ByteBuffer buf; - - if(size <= REUSABLE_BYTE_BUFFER_CAPACITY) - { - buf = _reusableByteBuffer; - buf.position(0); - } - else - { - buf = ByteBuffer.wrap(data); - } - buf.limit(_reusableDataOutput.length()); - - return buf; + final ByteBuffer copy = ByteBuffer.allocate(_reusableDataOutput.length()); + copy.put(data, 0, _reusableDataOutput.length()); + copy.flip(); + return copy; } -- cgit v1.2.1