From 4a8ad079d0efe68d3fff589641fd7d5758c60ceb Mon Sep 17 00:00:00 2001 From: Dong-hee Na Date: Sun, 10 Oct 2021 00:16:12 +0900 Subject: [PATCH] [3.9] bpo-20028: Keep original exception when PyUnicode_GetLength return -1 (GH-28832) (cherry picked from commit ec04db74e24a5f5da441bcabbe259157b4938b9b) Co-authored-by: Dong-hee Na --- Modules/_csv.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Modules/_csv.c b/Modules/_csv.c index 40a6361d2085f6..029f473ae8741e 100644 --- a/Modules/_csv.c +++ b/Modules/_csv.c @@ -246,6 +246,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", @@ -276,6 +279,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",