Buffer.toString returned a unexpected result when the buffer offset was not zero

git-svn-id: https://svn.apache.org/repos/asf/activemq/activemq-protobuf/trunk@947431 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/activemq-protobuf/src/main/java/org/apache/activemq/protobuf/Buffer.java b/activemq-protobuf/src/main/java/org/apache/activemq/protobuf/Buffer.java
index 214d742..e274b09 100644
--- a/activemq-protobuf/src/main/java/org/apache/activemq/protobuf/Buffer.java
+++ b/activemq-protobuf/src/main/java/org/apache/activemq/protobuf/Buffer.java
@@ -80,9 +80,12 @@
     }

 

     final public byte[] toByteArray() {

+        byte[] data = this.data;

+        int length = this.length;

         if (length != data.length) {

             byte t[] = new byte[length];

             System.arraycopy(data, offset, t, 0, length);

+            data = t;

         }

         return data;

     }