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

svn commit: r1651321 - /qpid/trunk/qpid/cpp/src/qpid/framing/SequenceSet.cpp

Author: gsim
Date: Tue Jan 13 10:25:15 2015
New Revision: 1651321

URL: http://svn.apache.org/r1651321
Log:
QPID-6310: check validity of ranges when decoding sequence set

Modified:
    qpid/trunk/qpid/cpp/src/qpid/framing/SequenceSet.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/SequenceSet.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/SequenceSet.cpp?rev=1651321&r1=1651320&r2=1651321&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/SequenceSet.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/SequenceSet.cpp Tue Jan 13 10:25:15 2015
@@ -54,7 +54,11 @@ void SequenceSet::decode(Buffer& buffer)
         throw IllegalArgumentException(QPID_MSG("Invalid size for sequence set: " << size)); 
 
     for (uint16_t i = 0; i < count; i++) {
-        add(SequenceNumber(buffer.getLong()), SequenceNumber(buffer.getLong()));
+        SequenceNumber a(buffer.getLong());
+        SequenceNumber b(buffer.getLong());
+        if (b < a)
+            throw IllegalArgumentException(QPID_MSG("Invalid range in sequence set: " << a << " -> " << b));
+        add(a, b);
     }
 }
 



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