Author: trustin
Date: Mon Dec 10 02:43:18 2007
New Revision: 602854

URL: http://svn.apache.org/viewvc?rev=602854&view=rev
Log:
Added more sanity check to advise misunderstanding user

Modified:
    
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java?rev=602854&r1=602853&r2=602854&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
 Mon Dec 10 02:43:18 2007
@@ -61,8 +61,15 @@
                 break;
             }
 
+            int oldRemaining = b.remaining();
             state.decode(b, out);
-            if (b.hasRemaining()) {
+            int newRemaining = b.remaining();
+            if (newRemaining != 0) {
+                if (oldRemaining == newRemaining) {
+                    throw new IllegalStateException(
+                            DecodingState.class.getSimpleName() + " must " +
+                            "consume at least one byte per decode().");
+                }
                 return;
             } else {
                 undecodedBuffers.poll();


Reply via email to