Patch in bug report #477700: Fix memory leaks in gdbm & curses.

This commit is contained in:
Martin v. Löwis 2001-11-11 14:24:05 +00:00
parent 20efa68be4
commit 00ff10cae4
2 changed files with 5 additions and 3 deletions

View File

@ -2544,6 +2544,7 @@ init_curses(void)
/* Add a CObject for the C API */ /* Add a CObject for the C API */
c_api_object = PyCObject_FromVoidPtr((void *)PyCurses_API, NULL); c_api_object = PyCObject_FromVoidPtr((void *)PyCurses_API, NULL);
PyDict_SetItemString(d, "_C_API", c_api_object); PyDict_SetItemString(d, "_C_API", c_api_object);
Py_DECREF(c_api_object);
/* For exception curses.error */ /* For exception curses.error */
PyCursesError = PyErr_NewException("_curses.error", NULL, NULL); PyCursesError = PyErr_NewException("_curses.error", NULL, NULL);

View File

@ -505,7 +505,7 @@ static PyMethodDef dbmmodule_methods[] = {
DL_EXPORT(void) DL_EXPORT(void)
initgdbm(void) { initgdbm(void) {
PyObject *m, *d; PyObject *m, *d, *s;
Dbmtype.ob_type = &PyType_Type; Dbmtype.ob_type = &PyType_Type;
m = Py_InitModule4("gdbm", dbmmodule_methods, m = Py_InitModule4("gdbm", dbmmodule_methods,
@ -515,7 +515,8 @@ initgdbm(void) {
DbmError = PyErr_NewException("gdbm.error", NULL, NULL); DbmError = PyErr_NewException("gdbm.error", NULL, NULL);
if (DbmError != NULL) { if (DbmError != NULL) {
PyDict_SetItemString(d, "error", DbmError); PyDict_SetItemString(d, "error", DbmError);
PyDict_SetItemString(d, "open_flags", s = PyString_FromString(dbmmodule_open_flags);
PyString_FromString(dbmmodule_open_flags)); PyDict_SetItemString(d, "open_flags", s);
Py_DECREF(s);
} }
} }