Patch in bug report #477700: Fix memory leaks in gdbm & curses.
diff --git a/Modules/gdbmmodule.c b/Modules/gdbmmodule.c
index 5f83a28..0190a9b 100644
--- a/Modules/gdbmmodule.c
+++ b/Modules/gdbmmodule.c
@@ -505,7 +505,7 @@
 
 DL_EXPORT(void)
 initgdbm(void) {
-    PyObject *m, *d;
+    PyObject *m, *d, *s;
 
     Dbmtype.ob_type = &PyType_Type;
     m = Py_InitModule4("gdbm", dbmmodule_methods,
@@ -515,7 +515,8 @@
     DbmError = PyErr_NewException("gdbm.error", NULL, NULL);
     if (DbmError != NULL) {
         PyDict_SetItemString(d, "error", DbmError);
-        PyDict_SetItemString(d, "open_flags",
-                PyString_FromString(dbmmodule_open_flags));
+        s = PyString_FromString(dbmmodule_open_flags);
+        PyDict_SetItemString(d, "open_flags", s);
+        Py_DECREF(s);
     }
 }