mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
The
list(xrange(sys.maxint / 4)) test. Changed 4 to 2. The belief is that this test intended to trigger a bit of code in listobject.c's NRESIZE macro that's looking for arithmetic overflow. As written, it doesn't achieve that, though, and leaves it up to the platform realloc() as to whether it wants to allocate 2 gigabytes. Some platforms say "sure!", although they don't appear to mean it, and disaster ensues. Changing 4 to 2 (just barely) manages to trigger the arithmetic overflow test instead, leaving the platform realloc() out of it. I'll backport this to the 2.2 branch next.
This commit is contained in:
parent
8696ebcd28
commit
cfac1d4a18
1 changed files with 1 additions and 1 deletions
|
@ -549,7 +549,7 @@ if sys.maxint == 0x7fffffff:
|
|||
# thread for the details:
|
||||
|
||||
# http://sources.redhat.com/ml/newlib/2002/msg00369.html
|
||||
list(xrange(sys.maxint / 4))
|
||||
list(xrange(sys.maxint // 2))
|
||||
except MemoryError:
|
||||
pass
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue