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 ...@@ -564,7 +564,11 @@ new_buffersize(fileio *self, size_t currentsize
*/ */
if (end >= SMALLCHUNK && end >= pos && pos >= 0) { if (end >= SMALLCHUNK && end >= pos && pos >= 0) {
/* Add 1 so if the file were to grow we'd notice. */ /* 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 #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