From: Antoine Pitrou Date: Wed, 18 Jan 2012 20:45:15 +0000 (+0100) Subject: Finally fix all test_capi refleaks X-Git-Tag: v3.3.0a1~348 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aa5c5c60f1e077b6d68804adeb8b05638abb3dd7;p=thirdparty%2FPython%2Fcpython.git Finally fix all test_capi refleaks --- diff --git a/Python/_warnings.c b/Python/_warnings.c index adebd51ed212..f33e477ad7bd 100644 --- a/Python/_warnings.c +++ b/Python/_warnings.c @@ -958,23 +958,30 @@ _PyWarnings_Init(void) if (m == NULL) return NULL; - _filters = init_filters(); - if (_filters == NULL) - return NULL; + if (_filters == NULL) { + _filters = init_filters(); + if (_filters == NULL) + return NULL; + } Py_INCREF(_filters); if (PyModule_AddObject(m, "filters", _filters) < 0) return NULL; - _once_registry = PyDict_New(); - if (_once_registry == NULL) - return NULL; + if (_once_registry == NULL) { + _once_registry = PyDict_New(); + if (_once_registry == NULL) + return NULL; + } Py_INCREF(_once_registry); if (PyModule_AddObject(m, "_onceregistry", _once_registry) < 0) return NULL; - _default_action = PyUnicode_FromString("default"); - if (_default_action == NULL) - return NULL; + if (_default_action == NULL) { + _default_action = PyUnicode_FromString("default"); + if (_default_action == NULL) + return NULL; + } + Py_INCREF(_default_action); if (PyModule_AddObject(m, "_defaultaction", _default_action) < 0) return NULL; return m;