Issue #22215: Now ValueError is raised instead of TypeError when str or bytes
argument contains not permitted null character or byte.
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index f0c26c3..63d5a5c 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -593,8 +593,8 @@
     if (len != NULL)
         *len = PyBytes_GET_SIZE(obj);
     else if (strlen(*s) != (size_t)PyBytes_GET_SIZE(obj)) {
-        PyErr_SetString(PyExc_TypeError,
-                        "expected bytes with no null");
+        PyErr_SetString(PyExc_ValueError,
+                        "embedded null byte");
         return -1;
     }
     return 0;