Christopher Fandrich <cfandrich@8cs.com>:
Fix memory leak in initializing __debug__.
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 @@
 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 @@
 		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;
 }