You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2018/04/17 23:38:36 UTC

qpid-proton-j git commit: PROTON-1672 Fix issue when PN_TRACE_FRM is enabled

Repository: qpid-proton-j
Updated Branches:
  refs/heads/master e2dcef929 -> ea46607e7


PROTON-1672 Fix issue when PN_TRACE_FRM is enabled

During tracing if frame is larger than max frame size an
IndexOutOfBoundsException is thrown if buffer slicing not done properly.

Project: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/commit/ea46607e
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/tree/ea46607e
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/diff/ea46607e

Branch: refs/heads/master
Commit: ea46607e776062c8555ef24a74c48a9b12bf2ca9
Parents: e2dcef9
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Apr 17 19:38:17 2018 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Apr 17 19:38:17 2018 -0400

----------------------------------------------------------------------
 .../qpid/proton/codec/CompositeReadableBuffer.java   | 15 +++++++++++++++
 .../apache/qpid/proton/engine/impl/FrameWriter.java  |  4 ++--
 2 files changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/ea46607e/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeReadableBuffer.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeReadableBuffer.java b/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeReadableBuffer.java
index fee963a..388d140 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeReadableBuffer.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeReadableBuffer.java
@@ -723,6 +723,21 @@ public class CompositeReadableBuffer implements ReadableBuffer {
         return true;
     }
 
+    @Override
+    public String toString() {
+        StringBuffer builder = new StringBuffer();
+        builder.append("CompositeReadableBuffer");
+        builder.append("{ pos=");
+        builder.append(position());
+        builder.append(" limit=");
+        builder.append(limit());
+        builder.append(" capacity=");
+        builder.append(capacity());
+        builder.append(" }");
+
+        return builder.toString();
+    }
+
     private static boolean equals(byte x, byte y) {
         return x == y;
     }

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/ea46607e/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java
index abf4ba9..bfda8ab 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java
@@ -193,8 +193,8 @@ class FrameWriter
             ReadableBuffer originalPayload = null;
             if (payload!=null)
             {
-                originalPayload = payload.duplicate();
-                originalPayload.limit(payload.position() + payloadSize);
+                originalPayload = payload.slice();
+                originalPayload.limit(payloadSize);
             }
 
             Binary payloadBin = Binary.create(originalPayload);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org