diff --git a/Mac/Modules/file/_Filemodule.c b/Mac/Modules/file/_Filemodule.c index 8309b35a624..f762e7e8860 100644 --- a/Mac/Modules/file/_Filemodule.c +++ b/Mac/Modules/file/_Filemodule.c @@ -3026,8 +3026,10 @@ static PyObject *File_pathname(PyObject *_self, PyObject *_args) if (!PyArg_ParseTuple(_args, "O", &obj)) return NULL; - if (PyString_Check(obj)) + if (PyString_Check(obj)) { + Py_INCREF(obj); return obj; + } if (PyUnicode_Check(obj)) return PyUnicode_AsEncodedString(obj, "utf8", "strict"); _res = PyObject_CallMethod(obj, "as_pathname", NULL); diff --git a/Mac/Modules/file/filesupport.py b/Mac/Modules/file/filesupport.py index 26821ddd69a..9d6005cef6b 100644 --- a/Mac/Modules/file/filesupport.py +++ b/Mac/Modules/file/filesupport.py @@ -874,8 +874,10 @@ PyObject *obj; if (!PyArg_ParseTuple(_args, "O", &obj)) return NULL; -if (PyString_Check(obj)) +if (PyString_Check(obj)) { + Py_INCREF(obj); return obj; +} if (PyUnicode_Check(obj)) return PyUnicode_AsEncodedString(obj, "utf8", "strict"); _res = PyObject_CallMethod(obj, "as_pathname", NULL);