Commit c5af7730 authored by Victor Stinner's avatar Victor Stinner

Fix FileIO.readall() (new_buffersize()) for large files

Truncate the buffer size to PY_SSIZE_T_MAX.
parent 950468e5
......@@ -564,7 +564,11 @@ new_buffersize(fileio *self, size_t currentsize
*/
if (end >= SMALLCHUNK && end >= pos && pos >= 0) {
/* Add 1 so if the file were to grow we'd notice. */
return currentsize + end - pos + 1;
Py_off_t bufsize = currentsize + end - pos + 1;
if (bufsize < PY_SSIZE_T_MAX)
return (size_t)bufsize;
else
return PY_SSIZE_T_MAX;
}
}
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment