]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.9] bpo-20028: Keep original exception when PyUnicode_GetLength return -1 (GH-28832...
authorDong-hee Na <donghee.na@python.org>
Sat, 9 Oct 2021 16:13:44 +0000 (01:13 +0900)
committerGitHub <noreply@github.com>
Sat, 9 Oct 2021 16:13:44 +0000 (01:13 +0900)
Modules/_csv.c

index 40a6361d2085f6016bd7d5815639922d83c6eff9..029f473ae8741ea68b2b6cb3e7cab9eddaea52fc 100644 (file)
@@ -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",