https://github.com/python/cpython/commit/e96d943d7df89e1f082e890ea668da95c77c177a
commit: e96d943d7df89e1f082e890ea668da95c77c177a
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2026-10-14T14:52:44+02:00
summary:

Set default arguments in _testlimitedcapi/unicode.c (#159380)

Some optional arguments had no default value leading to undefined
behavior if they were omitted.

files:
M Modules/_testlimitedcapi/unicode.c

diff --git a/Modules/_testlimitedcapi/unicode.c 
b/Modules/_testlimitedcapi/unicode.c
index 3d88cbb9fb304d3..6e3b15ef76aaa23 100644
--- a/Modules/_testlimitedcapi/unicode.c
+++ b/Modules/_testlimitedcapi/unicode.c
@@ -993,7 +993,7 @@ unicode_encodecodepage(PyObject *self, PyObject *args)
 {
     int code_page;
     PyObject *unicode;
-    const char *errors;
+    const char *errors = NULL;
 
     if (!PyArg_ParseTuple(args, "iO|z", &code_page, &unicode, &errors))
         return NULL;
@@ -1010,7 +1010,7 @@ unicode_decodelocaleandsize(PyObject *self, PyObject 
*args)
 {
     const char *data;
     Py_ssize_t size;
-    const char *errors;
+    const char *errors = NULL;
 
     if (!PyArg_ParseTuple(args, "y#|z", &data, &size, &errors))
         return NULL;
@@ -1024,7 +1024,7 @@ unicode_decodelocale(PyObject *self, PyObject *args)
 {
     const char *data;
     Py_ssize_t size;
-    const char *errors;
+    const char *errors = NULL;
 
     if (!PyArg_ParseTuple(args, "y#|z", &data, &size, &errors))
         return NULL;
@@ -1037,7 +1037,7 @@ static PyObject *
 unicode_encodelocale(PyObject *self, PyObject *args)
 {
     PyObject *unicode;
-    const char *errors;
+    const char *errors = NULL;
 
     if (!PyArg_ParseTuple(args, "O|z", &unicode, &errors))
         return NULL;
@@ -1331,7 +1331,7 @@ unicode_comparewithasciistring(PyObject *self, PyObject 
*args)
 {
     PyObject *left;
     const char *right = NULL;
-    Py_ssize_t right_len;
+    Py_ssize_t right_len = 0;
     int result;
 
     if (!PyArg_ParseTuple(args, "O|y#", &left, &right, &right_len))
@@ -1370,7 +1370,7 @@ unicode_equaltoutf8andsize(PyObject *self, PyObject *args)
 {
     PyObject *left;
     const char *right = NULL;
-    Py_ssize_t right_len;
+    Py_ssize_t right_len = 0;
     Py_ssize_t size = -100;
     int result;
 

_______________________________________________
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