Issue #22207: Fix "comparison between signed and unsigned integers" warning in
test checking for integer overflow on Py_ssize_t type: cast explicitly to
size_t.
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index c5af253..f0c26c3 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -81,6 +81,7 @@
{
PyBytesObject *op;
assert(size >= 0);
+
if (size == 0 && (op = nullstring) != NULL) {
#ifdef COUNT_ALLOCS
null_strings++;
@@ -89,7 +90,7 @@
return (PyObject *)op;
}
- if (size > PY_SSIZE_T_MAX - PyBytesObject_SIZE) {
+ if ((size_t)size > (size_t)PY_SSIZE_T_MAX - PyBytesObject_SIZE) {
PyErr_SetString(PyExc_OverflowError,
"byte string is too large");
return NULL;
@@ -1755,7 +1756,7 @@
bytes.translate
self: self(type="PyBytesObject *")
- table: object
+ table: object
Translation table, which must be a bytes object of length 256.
[
deletechars: object
@@ -3328,7 +3329,7 @@
/* Only one reference, so we can resize in place */
Py_ssize_t oldsize;
Py_buffer wb;
-
+
wb.len = -1;
if (_getbuffer(w, &wb) < 0) {
PyErr_Format(PyExc_TypeError, "can't concat %.100s to %.100s",