Index: Objects/fileobject.c =================================================================== --- Objects/fileobject.c (revision 77873) +++ Objects/fileobject.c (working copy) @@ -1056,7 +1056,7 @@ chunksize = Py_UniversalNewlineFread(BUF(v) + bytesread, buffersize - bytesread, f->f_fp, (PyObject *)f); FILE_END_ALLOW_THREADS(f) - if (chunksize == 0) { + if (errno || chunksize == 0) { if (!ferror(f->f_fp)) break; clearerr(f->f_fp); @@ -1611,7 +1611,7 @@ FILE_END_ALLOW_THREADS(f) shortread = (nread < buffersize-nfilled); } - if (nread == 0) { + if (errno || nread == 0) { sizehint = 0; if (!ferror(f->f_fp)) break;