https://github.com/python/cpython/commit/724c7c8146f44a7c737ec4588a1ee4b9db994f6f
commit: 724c7c8146f44a7c737ec4588a1ee4b9db994f6f
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2026-03-18T18:20:35+01:00
summary:

gh-146093: Fix csv _set_str(): check if PyUnicode_DecodeASCII() failed (#146113)

The function can fail on a memory allocation failure.

Bug reported by devdanzin.

files:
M Modules/_csv.c

diff --git a/Modules/_csv.c b/Modules/_csv.c
index c48f44c0f07867..a3f840acbe8c0b 100644
--- a/Modules/_csv.c
+++ b/Modules/_csv.c
@@ -315,8 +315,12 @@ _set_char(const char *name, Py_UCS4 *target, PyObject 
*src, Py_UCS4 dflt)
 static int
 _set_str(const char *name, PyObject **target, PyObject *src, const char *dflt)
 {
-    if (src == NULL)
+    if (src == NULL) {
         *target = PyUnicode_DecodeASCII(dflt, strlen(dflt), NULL);
+        if (*target == NULL) {
+            return -1;
+        }
+    }
     else {
         if (!PyUnicode_Check(src)) {
             PyErr_Format(PyExc_TypeError,

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to