Kaydet (Commit) cfac1d4a authored tarafından Tim Peters's avatar Tim Peters

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.
üst 8696ebcd
......@@ -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:
......
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