Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fe9a861

Browse files
author
Victor Stinner
committed
fileio_init() checks for failure on conversion to Py_UNICODE*
1 parent ef17f12 commit fe9a861

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

Modules/_io/fileio.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,9 +259,11 @@ fileio_init(PyObject *oself, PyObject *args, PyObject *kwds)
259259
}
260260

261261
#ifdef MS_WINDOWS
262-
if (PyUnicode_Check(nameobj))
263-
widename = PyUnicode_AS_UNICODE(nameobj);
264-
if (widename == NULL)
262+
if (PyUnicode_Check(nameobj)) {
263+
widename = PyUnicode_AsUnicode(nameobj);
264+
if (widename == NULL)
265+
return -1;
266+
} else
265267
#endif
266268
if (fd < 0)
267269
{
@@ -378,7 +380,7 @@ fileio_init(PyObject *oself, PyObject *args, PyObject *kwds)
378380
if (self->fd < 0) {
379381
#ifdef MS_WINDOWS
380382
if (widename != NULL)
381-
PyErr_SetFromErrnoWithUnicodeFilename(PyExc_IOError, widename);
383+
PyErr_SetFromErrnoWithFilenameObject(PyExc_IOError, nameobj);
382384
else
383385
#endif
384386
PyErr_SetFromErrnoWithFilename(PyExc_IOError, name);

0 commit comments

Comments
 (0)