Author: elecharny
Date: Tue Sep  1 10:07:59 2009
New Revision: 809951

URL: http://svn.apache.org/viewvc?rev=809951&view=rev
Log:
Fix for DIRMINA-739

Modified:
    
mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java?rev=809951&r1=809950&r2=809951&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
 Tue Sep  1 10:07:59 2009
@@ -157,7 +157,7 @@
     }
 
     private void manipulateIoBuffer(IoSession session, IoBuffer buffer) {
-        if (removeByteProbability > rng.nextInt(1000)) {
+        if ((buffer.remaining() > 0) && (removeByteProbability > 
rng.nextInt(1000))) {
             logger.info(buffer.getHexDump());
             // where to remove bytes ?
             int pos = rng.nextInt(buffer.remaining());
@@ -181,7 +181,7 @@
             logger.info("Removed " + count + " bytes at position " + pos + 
".");
             logger.info(buffer.getHexDump());
         }
-        if (changeByteProbability > rng.nextInt(1000)) {
+        if ((buffer.remaining() > 0) && (changeByteProbability > 
rng.nextInt(1000))) {
             logger.info(buffer.getHexDump());
             // how many byte to change ?
             int count = rng.nextInt(buffer.remaining() - 1) + 1;


Reply via email to