Author: trustin
Date: Tue Mar 11 23:55:07 2008
New Revision: 636222

URL: http://svn.apache.org/viewvc?rev=636222&view=rev
Log:
Resolved issue: DIRMINA-536 -  TextLineDecoder throws an 
IndexOutOfBoundsException
* My fix was wrong.  Applied Edouard's patch instead.


Modified:
    
mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
    
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
    
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java

Modified: 
mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
URL: 
http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java?rev=636222&r1=636221&r2=636222&view=diff
==============================================================================
--- 
mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
 (original)
+++ 
mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
 Tue Mar 11 23:55:07 2008
@@ -255,13 +255,7 @@
                 }
             } else {
                 // fix for DIRMINA-506 & DIRMINA-536
-                if (in.position() >= matchCount) {
-                    in.position(in.position() - matchCount);
-                    matchCount = 0;
-                } else {
-                    matchCount -= in.position();
-                    in.position(0);
-                }
+                in.position(Math.max(0, in.position() - matchCount));
             }
         }
 

Modified: 
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
URL: 
http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java?rev=636222&r1=636221&r2=636222&view=diff
==============================================================================
--- 
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
 (original)
+++ 
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
 Tue Mar 11 23:55:07 2008
@@ -253,13 +253,7 @@
                 }
             } else {
                 // fix for DIRMINA-506 & DIRMINA-536
-                if (in.position() >= matchCount) {
-                    in.position(in.position() - matchCount);
-                    matchCount = 0;
-                } else {
-                    matchCount -= in.position();
-                    in.position(0);
-                }
+                in.position(Math.max(0, in.position() - matchCount));
             }
         }
 

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java?rev=636222&r1=636221&r2=636222&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
 Tue Mar 11 23:55:07 2008
@@ -278,13 +278,7 @@
                 }
             } else {
                 // fix for DIRMINA-506 & DIRMINA-536
-                if (in.position() >= matchCount) {
-                    in.position(in.position() - matchCount);
-                    matchCount = 0;
-                } else {
-                    matchCount -= in.position();
-                    in.position(0);
-                }
+                in.position(Math.max(0, in.position() - matchCount));
             }
         }
 


Reply via email to