]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-106693: Explicitly mark ob_sval as unsigned char to avoid UB (#106826)
authorPablo Galindo Salgado <Pablogsal@gmail.com>
Thu, 7 May 2026 19:06:53 +0000 (20:06 +0100)
committerGitHub <noreply@github.com>
Thu, 7 May 2026 19:06:53 +0000 (22:06 +0300)
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
Include/cpython/bytesobject.h

index 85bc2b827df8fb0bf5fdf18adc8c1120d7d40661..550b5fcb952e6812282d8edfa777f4f08d0fd51e 100644 (file)
@@ -5,7 +5,7 @@
 typedef struct {
     PyObject_VAR_HEAD
     Py_DEPRECATED(3.11) Py_hash_t ob_shash;
-    char ob_sval[1];
+    unsigned char ob_sval[1];
 
     /* Invariants:
      *     ob_sval contains space for 'ob_size+1' elements.
@@ -20,7 +20,7 @@ PyAPI_FUNC(int) _PyBytes_Resize(PyObject **, Py_ssize_t);
 #define _PyBytes_CAST(op) \
     (assert(PyBytes_Check(op)), _Py_CAST(PyBytesObject*, op))
 
-static inline char* PyBytes_AS_STRING(PyObject *op)
+static inline unsigned char* PyBytes_AS_STRING(PyObject *op)
 {
     return _PyBytes_CAST(op)->ob_sval;
 }