Index: src/main/java/org/apache/james/imap/decode/base/FixedLengthInputStream.java =================================================================== --- src/main/java/org/apache/james/imap/decode/base/FixedLengthInputStream.java (revision 943140) +++ src/main/java/org/apache/james/imap/decode/base/FixedLengthInputStream.java (working copy) @@ -60,16 +60,17 @@ return -1; } - if (pos + b.length >= length) { + if (pos + len >= length) { int readLimit = (int) length - (int) pos; pos = length; return super.read(b, off, readLimit); } - pos += b.length; - return super.read(b, off, len); + int i = super.read(b, off, len); + pos += i; + return i; }