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();