From 105906ff6ed975f46599aac1f48c20efc508dbd8 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Wed, 27 Jan 1999 18:04:05 +0000 Subject: initerrno(): Nailed a not-so-tiny memory leak. The de dictionary is put into the module dict, but is never DECREF'd in this function, so it and all its contents leak. --- Modules/errnomodule.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/errnomodule.c b/Modules/errnomodule.c index f18a655..ee0aaf1 100644 --- a/Modules/errnomodule.c +++ b/Modules/errnomodule.c @@ -101,7 +101,7 @@ initerrno() m = Py_InitModule3("errno", errno_methods, errno__doc__); d = PyModule_GetDict(m); de = PyDict_New(); - if (de == NULL || PyDict_SetItemString(d,"errorcode",de)) + if (de == NULL || PyDict_SetItemString(d, "errorcode", de)) Py_FatalError("can't initialize errno module"); /* Macro so I don't have to edit each and every line below... */ @@ -824,4 +824,5 @@ initerrno() inscode(d, ds, de, "WSAN", WSAN, "Error WSAN"); #endif + Py_DECREF(de); } -- cgit v0.12