sys_pyfile_write() does nothing if file is NULL

mywrite() falls back to the C file object if sys_pyfile_write() returns an
error. This patch fixes a segfault is Py_FatalError() is called in an early
stage of Python initialization.
This commit is contained in:
Victor Stinner 2010-06-08 20:46:00 +00:00
parent 649124856a
commit ecccc4f9b8
1 changed files with 3 additions and 0 deletions

View File

@ -1839,6 +1839,9 @@ sys_pyfile_write(const char *text, PyObject *file)
PyObject *unicode = NULL, *writer = NULL, *args = NULL, *result = NULL;
int err;
if (file == NULL)
return -1;
unicode = PyUnicode_FromString(text);
if (unicode == NULL)
goto error;