Plug a memory leak in Py_InitModule4():  when PyDict_SetItemString() failed,
the object being inserted was not being DECREFed.

This closes SF bug #444486.
diff --git a/Python/modsupport.c b/Python/modsupport.c
index eb0818c..8fad54a 100644
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -60,14 +60,18 @@
 		v = PyCFunction_New(ml, passthrough);
 		if (v == NULL)
 			return NULL;
-		if (PyDict_SetItemString(d, ml->ml_name, v) != 0)
+		if (PyDict_SetItemString(d, ml->ml_name, v) != 0) {
+			Py_DECREF(v);
 			return NULL;
+		}
 		Py_DECREF(v);
 	}
 	if (doc != NULL) {
 		v = PyString_FromString(doc);
-		if (v == NULL || PyDict_SetItemString(d, "__doc__", v) != 0)
+		if (v == NULL || PyDict_SetItemString(d, "__doc__", v) != 0) {
+			Py_DECREF(v);
 			return NULL;
+		}
 		Py_DECREF(v);
 	}
 	return m;