Message123041
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. |
|
Date |
User |
Action |
Args |
2010-12-02 02:43:30 | vstinner | set | recipients:
+ vstinner, loewis, amaury.forgeotdarc, pitrou, tim.golden, brian.curtin, mspacek |
2010-12-02 02:43:30 | vstinner | set | messageid: <1291257810.17.0.470397042996.issue9611@psf.upfronthosting.co.za> |
2010-12-02 02:43:28 | vstinner | link | issue9611 messages |
2010-12-02 02:43:28 | vstinner | create | |
|