You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2008/03/12 07:55:14 UTC

svn commit: r636222 - in /mina: branches/1.0/core/src/main/java/org/apache/mina/filter/codec/textline/ branches/1.1/core/src/main/java/org/apache/mina/filter/codec/textline/ trunk/core/src/main/java/org/apache/mina/filter/codec/textline/

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