mirror of
https://github.com/python/cpython.git
synced 2025-07-24 03:35:53 +00:00
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.
This commit is contained in:
parent
daca3d7e9b
commit
049e509a9f
8 changed files with 21 additions and 19 deletions
|
@ -81,6 +81,7 @@ _PyBytes_FromSize(Py_ssize_t size, int use_calloc)
|
|||
{
|
||||
PyBytesObject *op;
|
||||
assert(size >= 0);
|
||||
|
||||
if (size == 0 && (op = nullstring) != NULL) {
|
||||
#ifdef COUNT_ALLOCS
|
||||
null_strings++;
|
||||
|
@ -89,7 +90,7 @@ _PyBytes_FromSize(Py_ssize_t size, int use_calloc)
|
|||
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_count(PyBytesObject *self, PyObject *args)
|
|||
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 @@ PyBytes_Concat(PyObject **pv, PyObject *w)
|
|||
/* 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",
|
||||
|
|
|
@ -97,7 +97,7 @@ PyTuple_New(Py_ssize_t size)
|
|||
#endif
|
||||
{
|
||||
/* Check for overflow */
|
||||
if (size > (PY_SSIZE_T_MAX - sizeof(PyTupleObject) -
|
||||
if ((size_t)size > ((size_t)PY_SSIZE_T_MAX - sizeof(PyTupleObject) -
|
||||
sizeof(PyObject *)) / sizeof(PyObject *)) {
|
||||
return PyErr_NoMemory();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue