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;