--- PHP_5_3/main/streams/streams.c 2011/05/29 11:39:49 311544 +++ PHP_5_3/main/streams/streams.c 2011/05/29 12:29:19 311545 @@ -1291,6 +1291,9 @@ ptr = *buf = pemalloc_rel_orig(maxlen + 1, persistent); while ((len < maxlen) && !php_stream_eof(src)) { ret = php_stream_read(src, ptr, maxlen - len); + if (!ret) { + break; + } len += ret; ptr += ret; }