Message134977
| Author |
vstinner |
| Recipients |
ixokai, nadeem.vawda, ned.deily, neologix, pitrou, python-dev, sdaoden, skrah, vstinner |
| Date |
2011年05月02日.14:53:18 |
| SpamBayes Score |
2.0724089e-11 |
| Marked as misclassified |
No |
| Message-id |
<1304347999.92.0.289179254047.issue11277@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
> @haypo: Python 2.7 is absolute horror.
Oh, zlib doesn't use PY_SSIZE_T_CLEAN in Python 2.7.
11277-27.1.diff contains "# Issue #10276 - check that inputs >=4GB are handled correctly.". I don't understand this comment because the test uses a buffer of 2 GB + 2 bytes.
How is it possible to pass a buffer of 2 GB+2 bytes to crc32(), whereas it stores the size into an int. The maximum size is INT_MAX which is 2 GB-1 byte. It looks like the "i" format of PyArg_ParseTuple() doesn't check for integer overflow => issue #8651. This issue was fixed in 3.1, 3.2 and 3.3, but not in Python 2.
Should we fix Python 2.7?
- backport issue #8651
- use PY_SSIZE_T_CLEAN in zlibmodule.c |
|