From: Dong-hee Na Date: Sat, 9 Oct 2021 15:16:12 +0000 (+0900) Subject: bpo-20028: Keep original exception when PyUnicode_GetLength return -1 (GH-28832) X-Git-Tag: v3.11.0a2~266 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ec04db74e24a5f5da441bcabbe259157b4938b9b;p=thirdparty%2FPython%2Fcpython.git bpo-20028: Keep original exception when PyUnicode_GetLength return -1 (GH-28832) --- diff --git a/Modules/_csv.c b/Modules/_csv.c index cfdfbce6e682..72f0791a4398 100644 --- a/Modules/_csv.c +++ b/Modules/_csv.c @@ -244,6 +244,9 @@ _set_char_or_none(const char *name, Py_UCS4 *target, PyObject *src, Py_UCS4 dflt return -1; } Py_ssize_t len = PyUnicode_GetLength(src); + if (len < 0) { + return -1; + } if (len > 1) { PyErr_Format(PyExc_TypeError, "\"%s\" must be a 1-character string", @@ -274,6 +277,9 @@ _set_char(const char *name, Py_UCS4 *target, PyObject *src, Py_UCS4 dflt) return -1; } Py_ssize_t len = PyUnicode_GetLength(src); + if (len < 0) { + return -1; + } if (len > 1) { PyErr_Format(PyExc_TypeError, "\"%s\" must be a 1-character string",