STINNER Victor <victor.stin...@haypocalc.com> added the comment: I agree that clamping is a nice solution, and attached patch implements it.
About the question of the loop: FileIO.readall() uses while(1) without checking for signals. It looks like new_buffersize() maximum size is not BIGCHUNK but (BIGCHUNK-1)*2: /* Keep doubling until we reach BIGCHUNK; then keep adding BIGCHUNK. */ if (currentsize <= BIGCHUNK) return currentsize + currentsize; else return currentsize + BIGCHUNK; Is it a bug? But (BIGCHUNK-1)*2 is always smaller than INT_MAX. So readall() isn't affected by this bug. Should it be patched? posix.read() doesn't have the bug because it uses an "int" for the size. ---------- keywords: +patch Added file: http://bugs.python.org/file19898/read_write_32bits.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue9611> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com