diff options
author | Fred Drake <fdrake@acm.org> | 2000-06-20 04:54:19 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2000-06-20 04:54:19 (GMT) |
commit | 5550de3084d6686032479b3cb9e34337eea24f7b (patch) | |
tree | 662c2e62162c0a800c78380950aa9bdc75e44d40 /Python | |
parent | 91c4e2bf127bb06204dc0a9a4583be7dccc27098 (diff) | |
download | cpython-5550de3084d6686032479b3cb9e34337eea24f7b.zip cpython-5550de3084d6686032479b3cb9e34337eea24f7b.tar.gz cpython-5550de3084d6686032479b3cb9e34337eea24f7b.tar.bz2 |
Christopher Fandrich <cfandrich@8cs.com>:
Fix memory leak in initializing __debug__.
Diffstat (limited to 'Python')
-rw-r--r-- | Python/bltinmodule.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index f4a7802..6d2a0fc 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -2364,7 +2364,7 @@ Noteworthy: None is the `nil' object; Ellipsis represents `...' in slices."; PyObject * _PyBuiltin_Init() { - PyObject *mod, *dict; + PyObject *mod, *dict, *debug; mod = Py_InitModule4("__builtin__", builtin_methods, builtin_doc, (PyObject *)NULL, PYTHON_API_VERSION); @@ -2375,9 +2375,12 @@ _PyBuiltin_Init() return NULL; if (PyDict_SetItemString(dict, "Ellipsis", Py_Ellipsis) < 0) return NULL; - if (PyDict_SetItemString(dict, "__debug__", - PyInt_FromLong(Py_OptimizeFlag == 0)) < 0) + debug = PyInt_FromLong(Py_OptimizeFlag == 0); + if (PyDict_SetItemString(dict, "__debug__", debug) < 0) { + Py_XDECREF(debug); return NULL; + } + Py_XDECREF(debug); return mod; } |