Issue #11826: Fix memory leak in atexitmodule.
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 @@
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 @@
NULL,
NULL,
NULL,
- NULL
+ (freefunc)atexit_free
};
PyMODINIT_FUNC