bpo-30601: Fix a refleak in WindowsConsoleIO (#2003) (#2008)

Fix a reference leak in _io._WindowsConsoleIO: PyUnicode_FSDecoder()
always initialize decodedname when it succeed and it doesn't clear
input decodedname object.
(cherry picked from commit 29adc13bd7)
This commit is contained in:
Victor Stinner 2017-06-08 23:13:12 +02:00 committed by GitHub
parent ca1b66fd05
commit 31b950ab86

View file

@ -305,8 +305,7 @@ _io__WindowsConsoleIO___init___impl(winconsoleio *self, PyObject *nameobj,
self->fd = fd; self->fd = fd;
if (fd < 0) { if (fd < 0) {
PyObject *decodedname = Py_None; PyObject *decodedname;
Py_INCREF(decodedname);
int d = PyUnicode_FSDecoder(nameobj, (void*)&decodedname); int d = PyUnicode_FSDecoder(nameobj, (void*)&decodedname);
if (!d) if (!d)