From e153b7a5657273c3b4e6bbc795a4dd37bb2d5218 Mon Sep 17 00:00:00 2001 From: KIMURA Chikahiro Date: Mon, 7 Aug 2017 17:48:08 +0900 Subject: Untrack self when deallocating. Fixes #20 --- CHANGES.rst | 3 +++ src/zope/proxy/_zope_proxy_proxy.c | 1 + 2 files changed, 4 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 48f0a61..4c0b9a2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ Changes 4.3.0 (unreleased) ------------------ +- Fix a potential rare crash when deallocating proxies. See `issue 20 + `_. + - Drop support for Python 3.3. - Drop support for "python setup.py test". diff --git a/src/zope/proxy/_zope_proxy_proxy.c b/src/zope/proxy/_zope_proxy_proxy.c index d1c4478..e201337 100644 --- a/src/zope/proxy/_zope_proxy_proxy.c +++ b/src/zope/proxy/_zope_proxy_proxy.c @@ -182,6 +182,7 @@ wrap_iternext(PyObject *self) static void wrap_dealloc(PyObject *self) { + PyObject_GC_UnTrack(self); (void) wrap_clear(self); self->ob_type->tp_free(self); } -- cgit v1.2.1