Added a missing INCREF in pathname().
diff --git a/Mac/Modules/file/_Filemodule.c b/Mac/Modules/file/_Filemodule.c
index 8309b35..f762e7e 100644
--- a/Mac/Modules/file/_Filemodule.c
+++ b/Mac/Modules/file/_Filemodule.c
@@ -3026,8 +3026,10 @@
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 26821dd..9d6005c 100644
--- a/Mac/Modules/file/filesupport.py
+++ b/Mac/Modules/file/filesupport.py
@@ -874,8 +874,10 @@
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);