From 650365b1633891fb8281b375e54ae13201e05a73 Mon Sep 17 00:00:00 2001 From: Stefan Krah Date: Tue, 27 Mar 2012 11:49:21 +0200 Subject: Issue #11826: Fix memory leak in atexitmodule. --- Modules/atexitmodule.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Modules/atexitmodule.c b/Modules/atexitmodule.c index 1ee7ead..f68d804 100644 --- a/Modules/atexitmodule.c +++ b/Modules/atexitmodule.c @@ -211,6 +211,14 @@ atexit_clear(PyObject *self, PyObject *unused) Py_RETURN_NONE; } +static void +atexit_free(PyObject *m) +{ + atexitmodule_state *modstate; + modstate = GET_ATEXIT_STATE(m); + PyMem_Free(modstate->atexit_callbacks); +} + PyDoc_STRVAR(atexit_unregister__doc__, "unregister(func) -> None\n\ \n\ @@ -275,7 +283,7 @@ static struct PyModuleDef atexitmodule = { NULL, NULL, NULL, - NULL + (freefunc)atexit_free }; PyMODINIT_FUNC -- cgit v0.12