diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2009-05-29 14:47:46 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2009-05-29 14:47:46 (GMT) |
commit | c15bdef8190241357970c9d65783c929860b933a (patch) | |
tree | 41a040a97ca95f748b6b4bc0ed4f2b39e5f729b1 /Objects | |
parent | 2703fd9134e46146df51b1af383632d5769faebd (diff) | |
download | cpython-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.c | 6 |
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; } |