aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/crashers/buffer_mutate.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/crashers/buffer_mutate.py')
-rw-r--r--Lib/test/crashers/buffer_mutate.py30
1 files changed, 0 insertions, 30 deletions
diff --git a/Lib/test/crashers/buffer_mutate.py b/Lib/test/crashers/buffer_mutate.py
deleted file mode 100644
index d68d7cc0fc6..00000000000
--- a/Lib/test/crashers/buffer_mutate.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# The various methods of bufferobject.c (here buffer_subscript()) call
-# get_buf() before calling potentially more Python code (here via
-# PySlice_GetIndicesEx()). But get_buf() already returned a void*
-# pointer. This void* pointer can become invalid if the object
-# underlying the buffer is mutated (here a bytearray object).
-#
-# As usual, please keep in mind that the three "here" in the sentence
-# above are only examples. Each can be changed easily and lead to
-# another crasher.
-#
-# This crashes for me on Linux 32-bits with CPython 2.6 and 2.7
-# with a segmentation fault.
-#
-
-
-class PseudoIndex(object):
- def __index__(self):
- for c in "foobar"*n:
- a.append(c)
- return n * 4
-
-
-for n in range(1, 100000, 100):
- a = bytearray("test"*n)
- buf = buffer(a)
-
- s = buf[:PseudoIndex():1]
- #print repr(s)
- #assert s == "test"*n