bpo-43108: Fix a reference leak in the curses module (GH-24420)

This commit is contained in:
Pablo Galindo 2021-02-02 20:38:26 +00:00 committed by GitHub
parent 01c4fddc4b
commit bb739ec922
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

View File

@ -0,0 +1 @@
Fixed a reference leak in the :mod:`curses` module. Patch by Pablo Galindo

View File

@ -388,6 +388,7 @@ PyCurses_ConvertToString(PyCursesWindowObject *win, PyObject *obj,
*bytes = obj;
/* check for embedded null bytes */
if (PyBytes_AsStringAndSize(*bytes, &str, NULL) < 0) {
Py_DECREF(obj);
return 0;
}
return 1;
@ -828,8 +829,9 @@ _curses_window_addstr_impl(PyCursesWindowObject *self, int group_left_1,
#else
strtype = PyCurses_ConvertToString(self, str, &bytesobj, NULL);
#endif
if (strtype == 0)
if (strtype == 0) {
return NULL;
}
if (use_attr) {
attr_old = getattrs(self->win);
(void)wattrset(self->win,attr);