Mercurial > cpython-lru_cache-weakref
diff Python/traceback.c @ 11999:c94247b5c355 legacy-trunk
Christian Tismer's "trashcan" patch:
Added wrapping macros to dictobject.c, listobject.c, tupleobject.c,
frameobject.c, traceback.c that safely prevends core dumps
on stack overflow. Macros and functions in object.c, object.h.
The method is an "elevator destructor" that turns cascading
deletes into tail recursive behavior when some limit is hit.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Mon, 13 Mar 2000 16:01:29 +0000 |
| parents | d3696bf08eee |
| children | 5b5581af951c |
line wrap: on
line diff
--- a/Python/traceback.c Mon Mar 13 15:56:08 2000 +0000 +++ b/Python/traceback.c Mon Mar 13 16:01:29 2000 +0000 @@ -68,9 +68,11 @@ tb_dealloc(tb) tracebackobject *tb; { + Py_TRASHCAN_SAFE_BEGIN(tb) Py_XDECREF(tb->tb_next); Py_XDECREF(tb->tb_frame); PyMem_DEL(tb); + Py_TRASHCAN_SAFE_END(tb) } #define Tracebacktype PyTraceBack_Type
