diff --git a/Misc/NEWS b/Misc/NEWS index 69c42d27b3f..fee788f7b4e 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 3.1 alpha 0 Core and Builtins ----------------- +- Issue #4838: When a module is deallocated, free the memory backing the + optional module state data. + - Issue #4910: Rename nb_long slot to nb_reserved, and change its type to (void *). diff --git a/Objects/moduleobject.c b/Objects/moduleobject.c index 9c705b888d2..0c6032fbe85 100644 --- a/Objects/moduleobject.c +++ b/Objects/moduleobject.c @@ -315,6 +315,8 @@ module_dealloc(PyModuleObject *m) _PyModule_Clear((PyObject *)m); Py_DECREF(m->md_dict); } + if (m->md_state != NULL) + PyMem_FREE(m->md_state); Py_TYPE(m)->tp_free((PyObject *)m); }