You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2017/01/24 11:16:50 UTC

svn commit: r1780063 - /qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java

Author: kwall
Date: Tue Jan 24 11:16:50 2017
New Revision: 1780063

URL: http://svn.apache.org/viewvc?rev=1780063&view=rev
Log:
QPID-7546: [AMQP1.0] Stop MessageMetaData_1_0 reading version byte from absolute byte buffer position

Problem highlighed by ExportImportMessagesRestTest when run on AMQP 1.0 persistent profile.

Modified:
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java?rev=1780063&r1=1780062&r2=1780063&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java Tue Jan 24 11:16:50 2017
@@ -362,7 +362,7 @@ public class MessageMetaData_1_0 impleme
         {
             try
             {
-                byte versionByte = buf.get(0);
+                byte versionByte = buf.get(buf.position());
                 long arrivalTime;
                 long contentSize = 0;
                 if (versionByte == 1)
@@ -372,10 +372,16 @@ public class MessageMetaData_1_0 impleme
                     arrivalTime = buf.getLong();
                     contentSize = buf.getLong();
                 }
-                else
+                else if (versionByte == 0)
                 {
                     arrivalTime = System.currentTimeMillis();
                 }
+                else
+                {
+                    throw new ConnectionScopedRuntimeException(String.format(
+                            "Unexpected version byte %d encountered at head of metadata. Unable to decode message.",
+                            versionByte));
+                }
 
                 SectionDecoder sectionDecoder = new SectionDecoderImpl(_typeRegistry.getSectionDecoderRegistry());
 



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