From bdddb11b0efd438696b5fa3e75f323248c22af7d Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Mon, 5 Sep 2016 10:39:57 -0700 Subject: clear out f_gen during generator finalization (closes #27812) Patch from Armin Rigo. --- Objects/genobject.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Objects/genobject.c') diff --git a/Objects/genobject.c b/Objects/genobject.c index a9ea5c2478..01c59c24a9 100644 --- a/Objects/genobject.c +++ b/Objects/genobject.c @@ -71,7 +71,10 @@ gen_dealloc(PyGenObject *gen) return; /* resurrected. :( */ _PyObject_GC_UNTRACK(self); - Py_CLEAR(gen->gi_frame); + if (gen->gi_frame != NULL) { + gen->gi_frame->f_gen = NULL; + Py_CLEAR(gen->gi_frame); + } Py_CLEAR(gen->gi_code); Py_CLEAR(gen->gi_name); Py_CLEAR(gen->gi_qualname); -- cgit v1.2.1