summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2009-05-29 14:47:46 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2009-05-29 14:47:46 (GMT)
commitc15bdef8190241357970c9d65783c929860b933a (patch)
tree41a040a97ca95f748b6b4bc0ed4f2b39e5f729b1 /Objects
parent2703fd9134e46146df51b1af383632d5769faebd (diff)
downloadcpython-c15bdef8190241357970c9d65783c929860b933a.zip
cpython-c15bdef8190241357970c9d65783c929860b933a.tar.gz
cpython-c15bdef8190241357970c9d65783c929860b933a.tar.bz2
Issue #6012: Add cleanup support to O& argument parsing.
Diffstat (limited to 'Objects')
-rw-r--r--Objects/unicodeobject.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 3bd1efd..47e0933 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -1539,6 +1539,10 @@ PyUnicode_FSConverter(PyObject* arg, void* addr)
PyObject *output = NULL;
Py_ssize_t size;
void *data;
+ if (arg == NULL) {
+ Py_DECREF(*(PyObject**)addr);
+ return 1;
+ }
if (PyBytes_Check(arg) || PyByteArray_Check(arg)) {
output = arg;
Py_INCREF(output);
@@ -1573,7 +1577,7 @@ PyUnicode_FSConverter(PyObject* arg, void* addr)
return 0;
}
*(PyObject**)addr = output;
- return 1;
+ return Py_CLEANUP_SUPPORTED;
}