diff options
| author | Keith Wall <kwall@apache.org> | 2014-12-05 17:30:06 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-12-05 17:30:06 +0000 |
| commit | 5c48af8564229bb56f45bb47b015be325b8855da (patch) | |
| tree | 3ead817b10a7ba18da4eb39a7d427c506fc30e07 /qpid/java/broker-plugins | |
| parent | a0cdd525f55c8386e2b3e86cdd683c69d181c209 (diff) | |
| download | qpid-python-5c48af8564229bb56f45bb47b015be325b8855da.tar.gz | |
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
Diffstat (limited to 'qpid/java/broker-plugins')
| -rw-r--r-- | qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java | 18 |
1 files changed, 4 insertions, 14 deletions
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; } |
