diff -r 89e065397ea6 -r e24348a560a6 src/corelib/io/qiodevice.cpp --- a/src/corelib/io/qiodevice.cpp Thu May 27 13:40:48 2010 +0300 +++ b/src/corelib/io/qiodevice.cpp Fri Jun 11 14:24:45 2010 +0300 @@ -810,6 +810,9 @@ } } + if (!maxSize) + return readSoFar; + if ((d->openMode & Unbuffered) == 0 && maxSize < QIODEVICE_BUFFERSIZE) { // In buffered mode, we try to fill up the QIODevice buffer before // we do anything else.