https://github.com/python/cpython/commit/c7d7e1c1a023c0b98ffb8e383fa03934bc834d65
commit: c7d7e1c1a023c0b98ffb8e383fa03934bc834d65
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: vstinner <[email protected]>
date: 2026-03-18T17:45:47Z
summary:

[3.13] gh-146093: Fix csv _set_str(): check if PyUnicode_DecodeASCII() failed 
(GH-146113) (#146131)

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

The function can fail on a memory allocation failure.

Bug reported by devdanzin.
(cherry picked from commit 724c7c8146f44a7c737ec4588a1ee4b9db994f6f)

Co-authored-by: Victor Stinner <[email protected]>

files:
M Modules/_csv.c

diff --git a/Modules/_csv.c b/Modules/_csv.c
index aea071cc143328..0b7ff2575fcfec 100644
--- a/Modules/_csv.c
+++ b/Modules/_csv.c
@@ -302,8 +302,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 (src == Py_None)
             *target = NULL;

_______________________________________________
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