◐ Shell
clean mode source ↗

GH-120754: Make PY_READ_MAX smaller than max byteobject size by cmaloney · Pull Request #121633 · python/cpython

@cmaloney

Currently if code tries to do a os.read larger than the max bytes object
length, the size to read gets capped to `_PY_READ_MAX`, then the code
tries to allocate a PyBytes which fails with an OverflowError as the
size is larger than the max py bytes object.

Since os.read is capping the max size anyways, cap it to a size which is
always allocatable as a PyBytes.

This changes behavior from bpo-21932 and enables the large file os.read
test on 32 bit platforms, as it should cap the read to a platform
acceptable size.