mirror of https://github.com/python/cpython.git
Patch in bug report #477700: Fix memory leaks in gdbm & curses.
This commit is contained in:
parent
20efa68be4
commit
00ff10cae4
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue