mirror of https://github.com/python/cpython
A couple of crashers of the "won't fix" kind.
This commit is contained in:
parent
999a336ad7
commit
d77ef8fa51
|
@ -0,0 +1,9 @@
|
|||
"""
|
||||
Broken bytecode objects can easily crash the interpreter.
|
||||
"""
|
||||
|
||||
import types
|
||||
|
||||
co = types.CodeType(0, 0, 0, 0, '\x04\x71\x00\x00', (),
|
||||
(), (), '', '', 1, '')
|
||||
exec co
|
|
@ -0,0 +1,17 @@
|
|||
"""
|
||||
gc.get_referrers() can be used to see objects before they are fully built.
|
||||
"""
|
||||
|
||||
import gc
|
||||
|
||||
|
||||
def g():
|
||||
marker = object()
|
||||
yield marker
|
||||
# now the marker is in the tuple being constructed
|
||||
[tup] = [x for x in gc.get_referrers(marker) if type(x) is tuple]
|
||||
print tup
|
||||
print tup[1]
|
||||
|
||||
|
||||
tuple(g())
|
Loading…
Reference in New Issue